C++抽象类浅析

抽象类

如果在一个虚函数的后面写上 =0 ,则这个函数为纯虚函数。而包含纯虚函数的类叫做抽象类(也叫接口类)。

作用

在许多情况下,在基类中不能对虚函数给出有意义的实现,故而把它声明为纯虚函数,它的实现留给该基类的派生类去做(一般来说它只有函数名、参数和返回值类型,不需要函数体)。

特点

包含纯虚函数的类称为抽象类(Abstract Class)。之所以说它抽象,是因为它无法实例化,也就是无法创建对象。原因很明显,纯虚函数没有函数体,不是完整的函数,无法调用,也无法为其分配内存空间。

抽象类通常是作为基类,让派生类去实现纯虚函数。派生类必须实现(重写)纯虚函数才能被实例化。

class Car   //这就是一个抽象类
{
 public:
 	virtual void Drive() = 0;
};

class Benz :public Car
{
 public:
	 virtual void Drive()
	 {
		 cout << "Benz-舒适" << endl;
	 }
};

class BMW :public Car
{
 public:
};

void Test()
{
	//正常输入
	 Car* pBenz = new Benz;
	 pBenz->Drive();

	//报错
	 Car* pBMW = new BMW; 
	 pBMW->Drive();
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值