本文實例講述了C++實現的多重繼承功能。分享給大家供大家參考,具體如下:
多重繼承
1. 多重繼承即一個類繼承了多個基類的屬性。
2. 多重繼承下派生類的構造函數必須同時負責所有基類構造函數的調用,
3. 派生類構造函數的參數個數,必須滿足多個基類初始化的需要。
4. 在多重繼承下,當建立派生類對象時,系統首先調用各個基類的構造函數,調用順序與定義派生類時指定的基類順序一致。
多重繼承范例:
#include <iostream>/* run this program using the console pauser or add your own getch, system("pause") or input loop */class A {  private:  float fa;  public:  A(float a = 0)   {    fa = a;  }  float getdata()   {    return fa;  }};class B {  private:  float fb;  public:  B(float b = 0)   {    fb = b;  }  float getdata()   {    return fb;  }};class C:public A,public B {  public:  C(int a=0,int b=0):A(a),B(b)   {  }  int sum()   {    return A::getdata()+B::getdata();  }};int main(int argc, char** argv) {  class C c1(12,23);  class A *a1;  a1 = &c1;//指向派生類的基類指針  //std::cout << c1.getdata() << std::endl; 此時有二義性的問題  std::cout << a1->getdata() << std::endl;  std::cout << c1.B::getdata() << std::endl;  std::cout << c1.A::getdata() << std::endl;  return 0;}輸出:
12
23
12
希望本文所述對大家C++程序設計有所幫助。
新聞熱點
疑難解答
圖片精選