把类的定义放到头文件中,然后他所对应的成员函数在.cpp中,然后在主函数中调用,执行中是错误?

主函数的代码:
#include<iostream>
#include"12.h"
#include"13.h"
using namespace std;
void main()
{point p1;
circle c1;
p1.in();
p1.out();
c1.in();
c1.out();
}
头文件代码:
12.h
class point
{int x;
int y;
public:
void in();
void out();
};
13.h
class circle:public point
{int r;
public:
void in1();
void out1();
float area();
};
.cpp
#include<iostream>
#include"12.h"
#include"13.h"
void circle::in1()
{cin>>r;}
void circle::out()
{cout<<r<<endl;}
float circle::area()
{return 3.14*r*r;}
.cpp
#include<iostream>
#include"12.h"
#include"13.h"
void point::in()
{cin>>x>>y;}
void point::out()
{cout<<x<<y<<endl;}
Linking...
main.obj : error LNK2001: unresolved external symbol "public: void __thiscall point::out(void)" (?out@point@@QAEXXZ)
main.obj : error LNK2001: unresolved external symbol "public: void __thiscall point::in(void)" (?in@point@@QAEXXZ)
Debug/main.exe : fatal error LNK1120: 2 unresolved externals
Error executing link.exe.

main.exe - 3 error(s), 0 warning(s)

编译就过不去,
典型的声明无定义,
你要把3个文件一起编译,
或者链接的时候链接到一起
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-01-06
遇到这样的问题,我猜你是,一直在编写,而还没有进行第一次编译开发环境还.就会自动搜索该类成员函数了 cpp中#include " 头文件 " 类名:
相似回答