前言:此文记录C++程序编写过程中遇到的一些尚未想明白的小问题。
- 在.h文件中声明一个类,将类的构造函数和析构函数的定义写在.h中类定义的外面,将其他函数的定义写在对应的.cpp文件中,运行时出现LNK2005错误。移动到.cpp文件中后问题解决,不晓得为什么?(我还没有用这个类,只是在main中包含了这个头文件)
.h:
class A{
public:
A();
~A();
private:
float m_p;
B *b; //B是另一个.h文件中定义的类
}
A::A():m_p(0.0)
{
b = new B();
}
A::~A(){}
错误提示:public: _thiscall A::A(void)(??0A@@QAE@XZ)已经在main.obj中定义