类定义和类声明分别定义问题,请大家帮忙

eboywy 2004-07-01 03:17:31
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.

请大家帮忙。
...全文
100 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
eboywy 2004-07-02
  • 打赏
  • 举报
回复
谢谢大家!
geesun 2004-07-01
  • 打赏
  • 举报
回复
myclass.h //类定义文件如下:

class MyClass{
public:
MyClass();
void print();
private:
int n;
};

myclass.cpp //类实现文件如下:

#include <iostream>
#include "myclass.h"
using namespace std;
MyClass::MyClass()
{
n=10;
}
void MyClass::print()
{
cout << n << endl;
}

mymain.cpp //类调用文件如下:
#include "myclass.h"
void main(){
MyClass aa;
aa.print();
}

如果:g++ mymain.cpp myclass.cpp完全没有问题。 具体在vc,可能是你没有把myclass.cpp加到你的project里面来吧!就跟:g++ mymain.cpp, 也会出现你那类似的错误!
sharkhuang 2004-07-01
  • 打赏
  • 举报
回复
声明说明有这个东西!
定义说明这个东西是什么!
nirvana_li 2004-07-01
  • 打赏
  • 举报
回复
.h和.cpp要放在一个project文件中一起编译。
martmy 2004-07-01
  • 打赏
  • 举报
回复
mark
pacman2000 2004-07-01
  • 打赏
  • 举报
回复
编译的时候有没有把mymain.cpp和myclass.cpp放一起编译啊?
oo 2004-07-01
  • 打赏
  • 举报
回复
你没把myclass.cpp包括进你的project?
eboywy 2004-07-01
  • 打赏
  • 举报
回复
不好意思。上面打错了。CSDN的贴子不能修改吗?!!
mymain.cpp //类调用文件如下:
#include "myclass.h" //此句改为#include "myclass.cpp" 没有问题,为什么?
void main(){
MyClass aa;
aa.print();
}

64,639

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧