纯虚函数的实现以及作用

#纯虚函数是什么

class Shape{
public:
	virtual float area() = 0;
private:
	string color;
};

像这样用virtual关键字修饰,并且末尾加上 =0 的格式声明的函数就是纯虚函数,还有一个重要特征,就是在当前类里这个方法不能有具体的实现,也就是不能有方法体。同时拥有纯虚函数的类会被默认定义为抽象类。

#什么是抽象类
至少拥有一个或者一个以上的纯虚函数的类,这种类不能创建对象,但是可以被继承,通常通过继承抽象类,然后通过重写纯虚函数后,方可以通过抽象父类的子类的对象来访问函数和数据成员。

//子类继承父类后,通过子类对象可以调用重写父类的纯虚函数
class Square : public Shape{
public:
	virtual float area(){ cout<<"正方形"<<endl;};
};

#纯虚函数和抽象类的作用
抽象类通常被作为基类使用,假设需要创建一个水牛类和一个奶牛类,他们有共性,那就是都是牛,那么可以定义一个牛类作为共同的基类,让奶牛和水牛都继承牛的特征,然后在分别在他们自己的类中添加自己的特征。这样的设计方便面向对象程序的设计和管理,提供更为严谨的封装。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值