题目
#include <iostream>
#include <string>
using namespace std;
class Base {
public:
int k;
Base(int n):k(n) { }
};
class Big
{
public:
int v;
Base b;
// 在此处补充你的代码
};
int main()
{
int n;
while(cin >>n) {
Big a1(n);
Big a2 = a1;
cout << a1.v << "," << a1.b.k << endl;
cout << a2.v << "," << a2.b.k << endl;
}
}
输入
多组数据,每组一行,是一个整数
输出
对每组数据,输出两行,每行把输入的整数打印两遍
答案
Big(int n):b(n){
v = n;
};
解析
这是一个封闭类问题。封闭类就是有成员对象的类,例如本题Base类,它出现在了Big类中,这就是一个封闭类。
为了防止封闭类出错,我们需要自己去做一个构造函数。这里也使用了初始化列表的方法。