我定义了一个 C 类。我想将所有成员函数写入一个名为 C.cpp 的文件中,我知道该怎么做。我不知道的是:
如何在 main 中定义一个函数 f?我试过:
C::f(arguments){ /*function definition*/} int main(){ /*code in main*/ }
如何在定义类 C 的对象 P 后访问和更改 main 中的公共(public)成员变量“x”,而无需为此定义显式函数?我想做类似的事情
P.x = 5.67;
最佳答案
对于1.
,如果f
没有在类C
中声明(即在C.h
中) ), 你不能。您不能向类动态添加
函数。
此外,如果 is 在 C.h
中声明并且还在 C.cpp
中定义,那么您将尝试复制其定义,但您也不能这样做。
如果它在 C.h
中声明但未在 C.cpp
中定义,您可以在主文件中的此处定义它,但不推荐这样做(不良做法) .最好将所有类的方法定义放在它的 .cpp
文件中。
对于 2,如果该成员是在类的 public
部分中声明的,则可以修改类 C
的对象的属性:
class C {
... // private members
public: // public section
double x;
... // other public members, methods or attributes
};
在这种情况下,您可以在 main 中:
C P;
P.x = 5.67;
关于C++ 类——使用公共(public)变量并在类外定义成员函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41647267/