基类的初始化
题目描述
补全类Derived
,使程序符合下文规定的输入输出。
关于输入
一行,一个整数 n。
关于输出
第一行是 "3378 45818"
第二行是 "n n",n 为输入的整数
核心技巧
- 基类没有不带参数的构造函数时,必须在派生类的初始化列表中恰当地提及。
参考答案
#include <iostream>
class Base {
public:
int baseValue;
Base(int value): baseValue{value} { }
};
class Derived : public Base {
int derivedValue;
public:
Derived(): derivedValue{45818}, Base{3378} {}
Derived(int n): derivedValue{n}, Base{n} {}
//
void print() {
std::cout << baseValue << ' ' << derivedValue << std::endl;
}
};
int main() {
Derived a;
a.print();
int n;
std::cin >> n;
a = n;
a.print();
}