1、E01:看上去像多态
总时间限制: 1000ms 内存限制: 65536kB
描述
程序填空产生指定输出
#include <iostream>
using namespace std;
class B {
private:
int nBVal;
public:
void Print()
{ cout << "nBVal="<< nBVal << endl; }
void Fun()
{cout << "B::Fun" << endl; }
B ( int n ) { nBVal = n;}
};
// 在此处补充你的代码
class D:public B
{
private:
int nDVal;
public:
D(int n) :B(3*n),nDVal(n){}
void Fun()
{
cout << "D::Fun" << endl;
}
void Print()
{
B::Print();
cout << "nDVal=" << nDVal << endl;
}
};
//在此结束补充的代码
int main() {
//多态的最核心的标志就是基类中的virtual,参数必须为基类的指针或引用
//本题中基类并无virtual,不涉及到多态
//分析mian函数的执行过程
B * pb; D * pd;
D d(4); d.Fun(); //output D::Fun,D的Fun覆盖B的Fun
pb = new