题目内容

有如下程序:#include#includeusing namespace std;class Animal{public:virtual string GetType() const { return "Animal"; }virtual string GetVoice() const { return "Voice"; }};class Dog:public Animal{public:string GetType() const { return "Dog"; }string GetVoice() const { return "Woof"; }};class Cat:public Animal{public:string GetType() const { return "Cat"; }string GetVoice() const { return "Miaow"; }};void Type(Animal& a) { cout<

A. Dog speak Voice - Cat speak Voice
B. Dog speak Woof - Cat speak Miaow
C. Animal speak Voice - Animal speak Voice
D. Animal speak Woof - Animal speak Miaow

查看答案
更多问题

有如下程序:#include using namespace std;class B {public:virtual void show() { cout<<"B"; }};class D: public B {public:void show() { cout<<"D"; }};void fun1(B *ptr) { ptr->show(); }void fun2(B &ref) { ref.show(); }void fun3(B b) { b.show(); }int main(){B b,*p=new D;D d;fun1(p);fun2(b);fun3(d);delete p;return 0;}执行这个程序的输出结果是()。

A. BBB
BBD
C. DBB
DBD

有如下程序:#include using namespace std;class A {public:virtual void func1() { cout<<"A1"; }void func2() { cout<<"A2"; }};class B:public A {public:void func1() { cout<<"B1"; }void func2() { cout<<"B2"; }};int main() {A *p=new B;p->func1();p->func2();delete p;return 0;}执行这个程序的输出结果是()。

A. B1B2
B. A1A2
C. B1A2
D. A1B2

有如下程序:#include using namespace std;class Base{public:void fun1() { cout<<"Base\n"; }virtual void fun2() { cout<<"Base\n"; }};class Derived : public Base {public:void fun1() { cout<<"Derived\n"; }void fun2() { cout<<"Derived\n"; }};void f(Base& b) { b.fun1(); b.fun2(); }int main(){Derived obj;f(obj);return 0;}执行这个程序的输出结果是()。

A. Base Base
Base Derived
C. Derived Base
Derived Derived

有如下程序:#include using namespace std;class Base {public:void output() { cout<<1; }virtual void Print() { cout<<′B′; }};class Derived : public Base {public:void output() { cout<<2; }void Print() { cout<<′D′; }};int main(){Base *ptr=new Derived;ptr->output();ptr->Print();delete ptr;return 0;}执行这个程序的输出结果是()。

A. 1B
B. 1D
C. 2B
D. 2D

答案查题题库