高手帮忙看一下,链接错误(关于类的定义与封装)
俺本意是想定义一个叫adt的类,里面有一个成员函数display。在adt定义的头文件adt.h里,只有该函数的声明,具体定义放在adt.cpp里面,main.cpp用来测试。
我的调试环境是Dev c++,操作系统xp,编译时显示链接错误,说找不到display函数的定义
[Linker error] undefined reference to `adt::display()'
如果把函数的定义也放在头文件里面就没有错了,请高手们支招啊!
//File adt.h
#ifndef ADT_H
#define ADT_H
class adt
{
public:
void display();
};
#endif
-----------------------
//File adt.cpp
#include "adt.h"
#include <iostream>
void adt::display()
{
std::cout<<"c++"<<'\n';
}
-----------------------
//File main.cpp
#include "adt.h"
#include <cstdlib>
int main()
{
adt x;
x.display();
system("PAUSE");
return 0;
}
--------------------