C++ 中的多重继承
多重继承是指一个类继承自多个基类。因此,该类可以使用多重继承从多个基类继承特性。这是面向对象编程语言(例如 C++)的一个重要特性。
下图演示了多重继承 −
以下给出了在 C++ 中实现多重继承的程序 −
示例
#include <iostream> using namespace std; class A { public: int a = 5; A() { cout << "Constructor for class A" << endl; } }; class B { public: int b = 10; B() { cout << "Constructor for class B" << endl; } }; class C: public A, public B { public: int c = 20; C() { cout << "Constructor for class C" << endl; cout<<"Class C inherits from class A and class B" << endl; } }; int main() { C obj; cout<<"a = "<< obj.a <<endl; cout<<"b = "<< obj.b <<endl; cout<<"c = "<< obj.c <<endl; return 0; }
输出
上面程序的输出如下 −
Constructor for class A Constructor for class B Constructor for class C Class C inherits from class A and class B a = 5 b = 10 c = 20
在上面的程序中,定义了类 A 和 B。如下所示 −
class A { public: int a = 5; A() { cout << "Constructor for class A" << endl; } }; class B { public: int b = 10; B() { cout << "Constructor for class B" < endl; } };
类 C 从类 A 和 B 继承。这是多重继承的一个示例。类 C 的定义如下所示 −
class C: public A, public B { public: int c = 20; C() { cout << "Constructor for class C" << endl; cout<<"Class C inherits from class A and class B" << endl; } };
在 main() 函数中,定义了类 C 的一个对象 obj。自动调用类 A、B 和 C 的构造函数并显示它们的内容。然后打印 a、b 和 c 的值。它们分别是类 A、B 和 C 的数据成员。此代码段如下所示 −
C obj; cout<<"a = "<< obj.a <<endl; cout<<"b = "<< obj.b <<endl; cout<<"c = "<< obj.c <<endl;
广告