C++的派生類構造函數是否要帶上基類構造函數


//public:Student(int s_age):People(s_age) 
//C++的派生類構造函數后面是否帶上基類構造函數,取決於基類構造函數是否需要傳入參數,如果要參數,就一定帶上;不需要參數,則可以不用帶上(當然帶上也是正確的)。比如基本構造函數是People::People()這樣定義,那不需要在派生類的構造函數后面帶上。需要注意的是,就算不帶上的話,在用派生類生成對象的時候,也會自動調用基本的People()這個構造函數。

#include <iostream>
using namespace std;
//基類People
class People{
public:People(int p_age);  //基類默認構造函數
protected:int m_age;
};
People::People(int p_age)
{m_age =  p_age;}

//派生類Student
class Student: public People{
public:Student(int s_age):People(s_age)         //C++的派生類構造函數后面帶上基類構造函數,上面有詳細說明
    {
     m_score = 90.50;
     m_name = "aaaa";
 }
public:void display();
public:float m_score;
};



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM