C++的派生类构造函数是否要带上基类构造函数
程序员文章站
2022-12-22 14:55:36
//public:Student(int s_age):People(s_age) //C++的派生类构造函数后面是否带上基类构造函数,取决于基类构造函数是否需要传入参数,如果要参数,就一定带上;不需要参数,则可以不用带上(当然带上也是正确的)。比如基本构造函数是People::People()这样 ......
//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;
};