1. 程式人生 > >C++ 學習筆記 (六) 繼承- 子類與父類有同名函數,變量

C++ 學習筆記 (六) 繼承- 子類與父類有同名函數,變量

pan end main函數 類繼承 class 分享圖片 共享 code 訪問

  學習了類的繼承,今天說一下當父類與子類中有同名函數和變量時那麽程序將怎麽執行。首先明確當基類和子類有同名函數或者變量時,子類依然從父類繼承。

  舉例說明:

  技術分享圖片技術分享圖片

  技術分享圖片技術分享圖片

  例程說明:

  父類和子類有同名的成員 data;同名函數printfa();

  子類增加兩個打印函數:void son_data();void father_data(); 分別打印自身的data 和繼承來的data變量。

  

  總結說明同名函數/變量的使用

  1.訪問繼承的同名成員:

    內部訪問:

     父類名::成員;

1     void father_data()
2     {
3 //訪問父類成員 使用this指針訪問自身的成員 4 cout<<"father data : "<<father::data<<endl; 5 }

      

    外部訪問(main函數52 /57行):

      對象名.父類名::成員

      技術分享圖片

    

  2.使用this指針指向同名成員訪問的是在本類的成員。

  3.同名成員的訪問需要加上 類名::成員 ,如果沒加上類名則默認訪問子類的成員。

  4.同名的成員分配在不同的內存中,不存在內存共享沖突的問題

C++ 學習筆記 (六) 繼承- 子類與父類有同名函數,變量