类的解析,抽象类与纯虚函数的需要性
当前位置:以往代写 > C/C++ 教程 >类的解析,抽象类与纯虚函数的需要性
2019-06-13

类的解析,抽象类与纯虚函数的需要性

类的解析,抽象类与纯虚函数的需要性

为了不恍惚观念在这里我们就简朴的叙述一下类的解析,前面的教程我们着重报告了类的担任,担任的特点就是,派生类担任基类的特性,举办布局扩张,这种慢慢扩张,慢慢在各派生类中解析互相差异特性的进程其实就是类的解析。

解析进程笔者在这里不想再拿代码举办过多叙述阐明白,意思说到,对付慢慢解析,慢慢扩张的思想就靠各人本身思考了。

拿前面交通东西类的措施举办思考,由交通东西派生出来的汽车类,飞机类,是具备更详细特性的描写的类,而对付交通东西这一个基类来说,它的特性是恍惚的,遍及的,假如成立一个交通东西类的工具并没有实际意义,为了对这种没有须要可以或许成立工具的类举办约束,c++引入了抽象类的特性,抽象类的约束节制来历于纯虚函数的界说。

生命一个类的成员函数为纯虚函数的意义在于让c++知道该函数并无意义,它的浸染只是为派生类举办虚函数重载保存位置。

纯虚函数的界说要领就是在类的成员函数的声明之后加上“=0”的标志,类中一旦有纯虚函数的界说那么这个类就再也不能建设此类的工具了,我们把这种类叫做抽象类。

抽象类的示例代码如下:

//措施作者:管宁
//站点:www.cndev-lab.com
//所有稿件均有版权,如要转载,请务必注明出处和作者
#include <iostream>
using namespace std;
class Vehicle
{
public:
Vehicle(float speed,int total)
{
Vehicle::speed = speed;
Vehicle::total = total;
}
virtual void ShowMember()=0;//纯虚函数的界说
protected:
float speed;
int total;
};
class Car:public Vehicle
{
public:
Car(int aird,float speed,int total):Vehicle(speed,total)
{
Car::aird = aird;
}
virtual void ShowMember()//派生类成员函数重载
{
cout<<speed<<"|"<<total<<"|"<<aird<<endl;
}
protected:
int aird;
};
int main()
{
//Vehicle a(100,4);//错误,抽象类不能建设工具
Car b(250,150,4);
b.ShowMember();
system("pause");
}

    关键字:

在线提交作业