error LNK2001: unresolved external symbol "public: __thiscall Book::~Book(void)"

pw2156314 2012-09-24 02:01:05

/*三、以下是图书类book的定义,但没有类的实现部分的代码,请根据类的定义编写类的实现部分的代码,并编写响应的程序对所定义的类进行测试。
Class book
{
   char *name; //书名
   Char *author; //作者
   Int sale; //销售量
Public
   Book( ); //无参构造函数
   Book(char,char,int);  //有参构造函数
   Void disp( ) //输出数据
   ~book( ); //析构函数

*/
#include<iostream>
#include<string.h>
using namespace std;

class Book
{
public:
Book(){name="c_plus_plus",author="T_H_Q",sale=60000;};
Book(string name1,string author1,int sale1):name(name1),
author(author1),sale(sale1){;};
string get_name(){return name;};
string get_author(){return author;};
int get_sale(){return sale;};
void display();
~Book();
private:
string name;
string author;
int sale;
};

void Book::display()
{
cout <<"name:";get_name();cout <<"\n";
cout <<"author:";get_author();cout <<"\n";
cout <<"sales:";get_sale();cout<<"\n";
};

int main()
{
Book book1;
Book book2("math","H_S_Q",70000);

book1.display();
book2.display();

return 0;
}


错误:Linking...
作业3.obj : error LNK2001: unresolved external symbol "public: __thiscall Book::~Book(void)" (??1Book@@QAE@XZ)
Debug/作业3.exe : fatal error LNK1120: 1 unresolved externals
执行 link.exe 时出错.

新手,不用讲得太高深,应该怎么改,谢谢了。
...全文
173 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
皮特尔 2012-09-24
  • 打赏
  • 举报
回复
析构函数只有声明没有定义,应该改为:
~Book(){;};
另外,输出部分也有问题(你可以试着输出看看),应改为:
cout <<"name:"<<get_name()<<"\n";
cout <<"author:"<<get_author()<<"\n";
cout <<"sales:"<<get_sale()<<"\n";

65,186

社区成员

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

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