类定义和类声明分别定义问题,请大家帮忙
myclass.h //类定义文件如下:
class MyClass{
public:
MyClass();
void print();
private:
int n;
};
myclass.cpp //类实现文件如下:
#include <iostream.h>
#include "myclass.h" //此句改为#include "myclass.cpp" 没有问题,为什么?
MyClass::MyClass()
{
n=10;
}
void MyClass::print()
{
cout << n << endl;
}
mymain.cpp //类调用文件如下:
#include "myclass.h"
void main(){
MyClass aa;
aa.print();
}
在VC++6.0下编译出错信息如下:
Linking...
mymain.obj : error LNK2001: unresolved external symbol "public: void __thiscall MyClass::print(void)" (?print@MyClass@@QAEXXZ)
mymain.obj : error LNK2001: unresolved external symbol "public: __thiscall MyClass::MyClass(void)" (??0MyClass@@QAE@XZ)
Debug/mymain.exe : fatal error LNK1120: 2 unresolved externals
Error executing link.exe.
请大家帮忙。