//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;
};