C++继承填空题
我是C++菜鸟来的,学得不够深入,继承,虚函数略懂一点,面试过一道C++填空题,我没做出来,请教各位大侠~~~~~~~~~
最后输出的结果是:
这是票据头
这是票正文
这是票据脚
——————
这是票据头
这是票据脚
#include <iostream>
using namespace std;
/*
输出结果:
这是票据头
这是票正文
这是票据脚
——————
这是票据头
这是票据脚
*/
class A{
public:
_______printT()///////////////////////第一个空__ printT()
{
cout<<"这是票据正文!"<<endl;
}
};
class B:public A
{
public:
B(A *t)
{
ticke=t;
}
void printT()
{
if(ticke != NULL)
{
ticke->printT();
}
}
private:
A *ticke;
};
class C:public B
{
public:
C(A *t):_______{}////////////////////////第二个空C(A *t):___
void printT()
{
cout<<"这是票据头!"<<endl;
B::printT();
}
};
class D:public B
{
public:
D(A *t):_______///////////////////////第三个空D(A *t):___
void printT()
{
B::printT();
cout<<"这是票据脚注!"<<endl;
}
};
int main(void)
{
A t;
D f(&t);
C h(___);///////////////////////第四个空 C h(___);
h.printT();
cout<<"—————————"<<endl;
D a(NULL);
C b(___);///////////////////////第五个空C b(___);
b.printT();
return 0;
}
[解决办法]
第一空:virtual void
第二空:B(t)
第三空:B(t){}
第四空:&f
第五空:&a