C++编程问题请大神赐教谢谢 5C

代码如下,为何会有3个错误
// ConsoleApplication68.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include
using namespace std;
const double PI = 3.14;

class Shape {
public:
virtual void getArea() = 0;
virtual void getPerim() = 0;
};

class Rectangle :public Shape {
private:
double width;
double length;
public:
Rectangle():width(0),length(0){}
Rectangle(double width,double length):width(width),length(length){}
virtual void getArea() {
cout << "Area:" << width*length << endl;
}
virtual void getPerim() {
cout << "Perim:" << 2 * (width*length) << endl;
}
~Rectangle();
};

class Circle: public Shape{
private:
double radius;
public:
Circle():radius(0){}
Circle(double radius):radius(radius){}
virtual void getArea() {
cout << "Area:" << PI*radius*radius;
}
virtual void getPerim() {
cout << "Perim:" << 2 * PI*radius;
}
~Circle();

};

int main()
{
Rectangle a1(2, 3);
Circle c1(2);
a1.getArea();
a1.getPerim();
c1.getArea();
c1.getPerim();
return 0;
}

2个回答

严重性 代码 说明 项目 文件 行 禁止显示状态
错误 LNK1120 2 个无法解析的外部命令 ConsoleApplication68 c:\users\颜俊毅\documents\visual studio 2015\Projects\ConsoleApplication68\Debug\ConsoleApplication68.exe 1

错误 LNK2019 无法解析的外部符号 "public: __thiscall Rectangle::~Rectangle(void)" (??1Rectangle@@QAE@XZ),该符号在函数 _main 中被引用 ConsoleApplication68 c:\Users\颜俊毅\documents\visual studio 2015\Projects\ConsoleApplication68\ConsoleApplication68\ConsoleApplication68.obj 1

错误 LNK2019 无法解析的外部符号 "public: __thiscall Circle::~Circle(void)" (??1Circle@@QAE@XZ),该符号在函数 _main 中被引用 ConsoleApplication68 c:\Users\颜俊毅\documents\visual studio 2015\Projects\ConsoleApplication68\ConsoleApplication68\ConsoleApplication68.obj 1

搞定了,是析构函数没有加{}

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问