多重继承和多层继承c++
时间: 2024-05-03 09:19:10 浏览: 169
C++支持多重继承和多层继承。
多重继承是指一个派生类可以从多个基类中继承特征。例如:
```
class Base1 {
public:
void foo() { cout << "Base1::foo" << endl; }
};
class Base2 {
public:
void bar() { cout << "Base2::bar" << endl; }
};
class Derived : public Base1, public Base2 {
public:
void baz() { cout << "Derived::baz" << endl; }
};
```
这里的派生类Derived继承了两个基类Base1和Base2的特征。
多层继承是指一个派生类从一个基类中继承的同时,这个基类本身也继承自另一个基类。例如:
```
class Base1 {
public:
void foo() { cout << "Base1::foo" << endl; }
};
class Base2 : public Base1 {
public:
void bar() { cout << "Base2::bar" << endl; }
};
class Derived : public Base2 {
public:
void baz() { cout << "Derived::baz" << endl; }
};
```
这里的派生类Derived从基类Base2中继承了Base1的特征。实际上,Derived也可以直接访问Base1中的成员函数foo()。
需要注意的是,多重继承和多层继承的使用需要谨慎,因为它们可能会导致类之间的关系变得复杂。
阅读全文