抽象类和纯虚函数

**纯虚函数
纯虚函数:
在基类中将某一成员函数定为虚函数,
并不是基类本身的需要,
而是考虑到派生
类的需要,在基类中预留了一个函数名,具体功能留给派生类根据需要去定义。
纯虚函数是在声明虚函数时被“初始化”为
0的函数。
一般形式为:

virtual 函数类型函数名(参数列表)=0;
如:
virtual float area()const=0;

注意:
1、虚函数没有函数体;
2、最后面的“=0”并不表示函数的返回值为0
,它只是起形式上的作用,告诉编译器“这
是纯虚函数”;
2、这是一个声明语句,最后应有分号;
要点:

1、
纯虚函数只有函数的名字,而不具有函数的功能,不能被调用。
可以说他是“徒有其表,而无其实”。它只是通知编译系统:
“这里声明一个虚函数,留待派生类中定义”。在派生类
中对此函数提供定义后,它才能具备函数的功能,可以被调用。

2、纯虚函数的作用是在基类中为其派生类保留一个函数名字,以便派生类根据需要对它定
义。如果在其基类中没有保留函数名字,则无法实现多态性。

3、如果在一个类中声明了纯虚函数,而在其派生类中没有对该函数定义,则该虚函数在派
生类中仍为纯虚函数。

抽象类:
抽象类:不要来定义对象,而只作为一种基本类型用作继承类。由于经常作为基类,通常称为抽象基类。
注:
1、凡是包含纯虚函数的类都是抽象类。因为纯虚函数不能被调用,包含纯虚函数的类是无
法建立对象的。

2、抽象类的作用是作为一个类族的公共基类,或者说,为一个类族提供一个公共接口。

3、如果在抽象类所派生出的新类强调内容中对基类的所有纯虚函数进行了定义,那么这些函数就被
赋予了功能,可以被调用。这个派生类就不是抽象类,而是可以用来定义对象的具体类。

4、如果在派生类中没有对所有的虚函数进行定义,则此派生类仍是抽象类,不能用来定义
对象。

多态性
(上海博康智能电话面试有面试到.)
指相同对象收到不同消息或不同对象收到相同消息时产生不同的实现动作。C++支持两种多态性:编译时多态性,运行时多态性
a.编译时多态性:通过重载函数实现
b 运行时多态性:通过虚函数实现。

**

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值