为什么这个虚函数的声明要等于0

来源:百度知道 编辑:UC知道 时间:2024/05/06 20:52:33
#include<iostream.h>
#include<math.h>
class Shape
{
public:
virtual float area()=0;
virtual void printArea()=0;
};
class Circle:public Shape
{
public:
Circle(float r)
{
radius=r;
}
virtual float area()
{
return 3.14159*radius*radius;
}
virtual void printArea()
{
cout<<"Circle of area"<<area()<<endl;
}
protected:
float radius;
};
class Rectangle:public Shape
{
public:
Rectangle(float l,float w)
{
length=l;width=w;
}
virtual float area()
{
return length*width;
}
virtual void printArea()
{
cout<<"Rectangle of area"<<area()<<endl;
}
protected:
float length;
float width;
};
class Triangle:public Shape
{
public:
Triangle(float x,float y,float z)

纯虚函数是在声明虚函数时被“初始化”为0的函数:
一般形式:virtual 函数类型 函数名(参数列表)=0;

纯虚函数,你查下书。
也就是说这个虚函数没有函数体的。

你可以复习以下多态,不这样的话就会发生内存泄漏,最终导致系统崩溃。

[** 如果代码太长,你可以在你的blog中发出来,在给出连接,现在这样的乱七八糟,没人会认真看得。 **]