Tot*_*gon 0 c++ constructor field header class
我遇到了一个问题,我的类中的一个字段不能被它的.cpp文件中的构造函数访问,原因我不知道.cpp不会继承它,我无法构造它用于我的其余部分program
这是包含我希望在Test.h中构造的字段的类
class Test
{
public:
Test();
virtual ~Test();
void count();
int counter();
};
Run Code Online (Sandbox Code Playgroud)
这是Test.cpp中字段'counter'的构造函数
Test::Test() : counter(0){}
Run Code Online (Sandbox Code Playgroud)
根据我对C++的了解,这应该是正确的,因为Test.cpp包含#include"Test.h",当使用main.cpp而没有标题,任何想法时,完全相同的代码在编写和构造类时有效吗?
Test::Test() : counter(0){} - 你应该在这里初始化你的成员变量,而不是调用成员函数.
我想你的意思是:
class Test
{
public:
Test();
virtual ~Test();
void count();
int counter; // no ()
};
Run Code Online (Sandbox Code Playgroud)
正如尤里建议的那样