//如果父类有多个构造函数,子类需要实现与父类相对应的(多个)构造函数。而且是通过初始化列表的
//方式
#include <iostream>
using namespace std;
class Parent
{
public:
Parent(char _c,int _a)
{
c = _c;
a = _a;
}
void display()
{
cout << "a="<<a << " c=" << c << endl;
}
private:
int a;
char c;
};
class Son:public Parent
{
public:
Son(int score,char c,int a):Parent(c,a) //:Parent(c,a) 就是以初始化列表的方式实现父类的构造函数
{
this->score = score;
}
void display() //直接使用继承的函数不能打印score,可以对函数进行重写
{ //重写时参数和返回值要和继承的函数相同
cout << score<<endl;
Parent::display(); //因为函数名相同,所以要加上作用域分解运算符::
}
private:
int score;
};
int main(void)
{
Son son(99,'a',9);
son.display();
return 0;
}