Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7693388
  • 博文数量: 961
  • 博客积分: 15795
  • 博客等级: 上将
  • 技术积分: 16612
  • 用 户 组: 普通用户
  • 注册时间: 2010-08-07 14:23
文章分类

全部博文(961)

文章存档

2016年(1)

2015年(61)

2014年(41)

2013年(51)

2012年(235)

2011年(391)

2010年(181)

分类: C/C++

2011-08-06 22:34:22

/*

 * 纯虚函数

 * 包含一个或多个纯虚函数的类为抽象类。

 * 抽象类不能定义对象

 * 抽象类只能作为基类被子类继承,其纯虚函数的实现由派生类给出

 * 只有当派生类中所有纯虚函数都实现时,此时的派生类才是具体类

 * 抽象类不能用作参数类型,函数返回类型或强制转换

 * 抽象类可以声明指针和引用

 * Lzy  2011-七夕

 */

#include

using namespace std;

 

class Shapes

{

public:

    virtual void draw(){cout<<"Draw Base"<

    virtual double area()=0;            //定义纯虚函数

};

 

class Circle:public Shapes

{

private:

    double radius;

public:

    Circle(double r):radius(r){}

    void draw(){cout<<"Draw Circle"<

    double area(){return 3.14*radius*radius;}

};

 

int main(void)

{

    Circle c(3);

    c.draw();

    cout<<"面积:"<

 

    Shapes *ptr;

    ptr=&c;

    ptr->draw();

    cout<<"面积:"<area()<

 

    return 0;

}

 

 

阅读(1474) | 评论(0) | 转发(2) |
0

上一篇:C++单链表

下一篇:C++栈的实现

给主人留下些什么吧!~~