面向对象特点:抽象数据的封装,继承和多态。
封装的目的在于提供接口和实现的分离。封装通过组合特性和行为来生成新的数据类型。访问控制通过师细节数据设置为private,将接口从具体的实现中分离出来。
继承的目的在于实现代码的重用。
多态则是为了能够在运行时绑定具体的对象,实现对象行为的多样性。多态改善了代码的组织性和可读性,同时也使得创建的程序具有可扩展行。
下面详细解释关于多重继承及多态的一些问题。
多重继承
所谓的多重继承就是从多于一个的直接基类派生类的能力,多重继承的派生类会继承其父类的属性。
多重继承构造函数和析构函数的调用顺序
如下一段代码给出了一个多重继承的例子:
```
#include<iostream>
#include<cstdio>
using namespace std;
class A{
private:
int x;
public:
A(int x){
this->x = x;
cout<<"Construtor A"<<endl;
}
~A(){
cout<<"destructor A"<<endl;
}
};
class C:public A{
private:
int z;
public:
C(int x,int z):A(x){
this->z = z;
cout<<"Constructor C"<<endl;
}
~C(){
cout<<"D