描述
下面程序输出的结果是:
4,6
请填空:
#include <iostream>
using namespace std;
class A {
int val;
public:
A(int n) { val = n; }
int GetVal() { return val; }
};
class B: public A {
private:
int val;
public:
B(int n):
// 在此处补充你的代码
{ }
int GetVal() { return val; }
};
int main() {
B b1(2);
cout << b1.GetVal() << "," << b1.A::GetVal()<< endl;
return 0;
}
输入
无
输出
4,6
样例输入
无
样例输出
4,6
解题思路:初始化B的同时也初始化A。即:
#include <iostream>
using namespace std;
class A {
intval;
public:
A(intn) { val = n; }
intGetVal() { return val; }
};
class B : public A {
private:
intval;
public:
B(intn) :
//在此处补充你的代码
A(n*3),val(n*2){}
intGetVal() { return val; }
};
int main() {
Bb1(2);
cout<< b1.GetVal() << "," << b1.A::GetVal() <<endl;
return0;
}