C ++类 - 使用公共变量并在类外定义成员函数

时间:2017-01-14 06:00:39

标签: c++ class oop

我有一个已定义的类C.我想在名为C.cpp的文件中编写所有成员函数,我知道如何操作。我不知道的是:

  1. 如何在main中定义一个函数f?我试过了:

    C::f(arguments){
    /*function definition*/}
    
    int main(){ /*code in main*/
    }
    
  2. 如何访问和更改公共成员变量' x'在我定义了C类的对象P后,我没有为此定义一个显式函数?我正在寻找像

    这样的事情
    P.x = 5.67;
    

1 个答案:

答案 0 :(得分:3)

对于1.,如果未在班级f(即C)中声明C.h,则不能。你不能add动态动作的一个函数。

如果is在C.h中声明并且也在C.cpp中定义,那么你试图复制它的定义,你也不能。

如果在C.h中声明并且未在C.cpp中定义,则可以在主文件中定义它,但不建议这样做(不好的做法)。最好将所有类的方法定义放在.cpp文件中。

对于2,如果该成员在类的C部分中声明,则可以修改类public的对象的属性:

class C {
... // private members
public: // public section
    double x;
    ... // other public members, methods or attributes
};

在这种情况下,你可以在主要的:

C P;
P.x = 5.67;