资源描述
7、实现运行时的多态性要使用( )
A) 重载函数 B) 构造函数 C) 析构函数 D) 虚函数
10、当保护继承时,基类的( )在派生类中成为保护成员,不能通过派生类的对象来直接访问该成员。
A) 任何成员;
B) 公有成员和保护成员;
C) 保护成员和私有成员;
D) 私有成员;
11、以下( )成员函数是纯虚函数。
A) virtual int f(int)
B) void f(int)= 0
C) virtual void f()=0
D) virtual void f(){}
三、 程序分析
1、分析程序,写出程序的输出结果(6分)。
#include <iostream.h>
class A
{
public:
A() {cout<<"A's con."<<endl;}
~A() {cout<<"A's des."<<endl;}
};
class B
{
public:
B() {cout<<"B's con."<<endl;}
~B() {cout<<"B's des."<<endl;}
};
class C:public B
{
public:
C():member(),B() {cout<<"C's con."<<endl;}
~C(){cout<<"C's des."<<endl; }
private:
A member;
};
void main()
{
C obj;
}
3。分析下列程序中的错误,并说明出错原因。
#include
class A {
int x;
public:
A(int a) { x=a; fun(); }
virtual void fun()=0;
};
class B:public A {
public:
B(int b) :A(b) {}
void fun() { }
};
void main()
{ A aa(5);
B bb(8);
}
5.写出下列程序的运行结果。
#include
class AA {
int a;
public:
AA(int i) { a=i; cout<<”AA=”<<A<<>
virtual ~AA() { cout<<”~AA=”<<A<<>
};
class BB:public AA {
int b;
public:
BB(int i,int j):AA(i) { b=j; cout<<”BB=”<<B<<>
~BB() { cout<<”~BB=”<<B<<>
};
void main()
{ AA *pa=new AA(8);
delete pa;
AA *pb=new BB(6,9);
delete pb;
}
7.写出下列程序的输出结果。
#include
class AA {
public:
AA{} { cout<<”Constructor of AA. \n”; fun(); }
virtual void fun() { cout<<”AA::fun() calle
D.\n”; }
};
class BB:public AA {
public:
BB(){ cout<<”Constructor of B
B.\n”; fun(); }
void fun() { cout<<”BB::fun() calle
D.\n”; }
};
void main()
{ BB d; }
展开阅读全文