c++虚函数与多态之纯虚函数和抽象类

本文详细介绍了纯虚函数的概念及其在C++中的应用,解释了如何通过纯虚函数来定义抽象类,并通过具体实例展示了如何使用抽象类和纯虚函数实现多态行为。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

纯虚函数和抽象类

1、纯虚函数是一种特殊的虚函数,

2、在许多情况下,在基类中不能对虚函数给出有意义的实现,而把它声明为纯虚函数,它的实现留给该基类的派生类去做。

3、这就是纯虚函数的作用。

4、纯虚函数是一个在基类中说明的虚函数,在基类中没有定义, 要求任何派生类都定义自己的版本

5、纯虚函数为各派生类提供一个公共界面

6、纯虚函数结构:

           virtual 类型  函数名参数表)=0 ;

 一个具有纯虚函数的基类称为抽象类。

7、举例

class point { /*……*/ } ;

class shape ;             // 抽象类

{ point center ;

     ……

 public :

 point  where ( ) { return  center ; }

 void  move ( point p ) {center = p; draw ( ) ; }

  virtual  void rotate ( int ) = 0 ;               //纯虚函数

  virtual  void draw ( ) = 0 ;                         // 纯虚函数

} ;

#include<iostream>

using namespace std ;

class Number

{ public :      Number (int i) { val = i ; }

                    virtual void Show() = 0 ;

 protected:  int val ;

};

class Hex_type : public Number

{ public:    Hex_type(int i) : Number(i) { }

             void Show()  { cout << "Hexadecimal:"<< hex << val << endl ; }

};

class Dec_type : public Number

{ public:    Dec_type(int i) : Number(i) { }

             void Show()  { cout << "Decimal: "<< dec << val << endl ; }

};

class Oct_type : public Number

{ public:    Oct_type(int i) : Number(i) { }

             void Show()  { cout << "Octal: " <<oct << val << endl ; }

}; 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值