在下面四个选项中,()是用来声明虚函数的。A.virtualB.publicC.usingD.FALSE
在下面四个选项中,()是用来声明虚函数的。
A.virtual
B.public
C.using
D.FALSE
在下面四个选项中,()是用来声明虚函数的。
A.virtual
B.public
C.using
D.FALSE
在下面四个选项中,()是用来声明虚函数的。
A.virtual
B.public
C.using
D.假
下面描述中正确的是 ______。
A.virtual可以用于声明虚函数
B.含有纯虚函数的类不可以用来创建对象
C.即使基类的构造函数没有参数,派生类也必须建立构造函数
D.静态数据成员可以通过成员初始化列表来初始化
A.关键字virtual只能用来声明虚函数
B.声明虚函数时,才使用关键字virtual
C.关键字virtual不能用来声明虚基类
D.关键字virtual能用来声明虚基类
一、填空: 1、含有纯虚函数的类称为______。 2、如果在类中定义了一个成员函数为______,则表明在该继承层次链条的派生类中有可能重新定义这个成员函数的实现,即它可能被派生类的同名函数所覆盖。 3、定义一个函数名为fun, 返回值为int, 没有参数的纯虚函数的定义是_____。 4、如果类包含了一个或多个______ ,则它是抽象类。 5、虚函数必须是类的______ 函数。 6、在面向对象的程序设计中,不同的对象可以调用相同名称的函数并导致完全不同的行为现象称为______ 。 7、成员函数有实函数、虚函数和______3 种。 8、动态联编的多态性由______支持。 9、 C++语言支持的两种多态性分别是______ 的多态性和运行时的多态性。 10、如果一个类至少有个纯虚函数,那么就称该类为______。 11、 抽象类不能定义对象。但可以声明抽象类的______转换类型。 二、选择题: (1)关于动态联编的下列叙述中,错误的是 A. 动态联编是以虚函数为基础的 B. 动态联编运行时确定所调用函数代码 C. 动态联编调用函数操作是指向对象的指针或对象引用 D. 动态联编是在编译时确定操作函数 (2)有以下类定义: class A public: virtual void fl0{ cout<<l; }; void f20{ b : public a public: . f1o{ } 若b为b类对象,p为a类指针,则下列选项正确的是()。 a. 执行: p="&b;" p->f1();语句, 输出3 B. 执行: p=&b; p->f20);语句,输出4 C. 执行: p=&b; p->fl();语句,输出2 D. 执行: p=&b; p->f20);语句,输出1 (3)关于虚函数的描述中,_______是正确的。. A. 虚函数是一个静态成员函数 B. 虚函数是一个非成员函数 C. 虚函数既可以在函数说明时定义,也可以在函数实现时定义 D. 派生类的虚函数与基类中对应的虚函数具有相同的参数个数和类型 (4)下面4个选项中,_______是用来声明虚函数的。. A. virtual B. public C. using D. false (5)下列描述中,属于抽象类的性质是________。 A. 可以说明虚函数 B. 可以进行构造函数重载 C. 可以定义友元函数 D. 不能说明其对象 (6)要实现动态联编必须_______。 A. 通过成员名限定来调用虚函数 B. 通过对象名来调用虚函数 C. 通过派生类对象来调用虚函数 D. 通过对象指针或引用来调用虚函数 (7)在类中用来声明虚成员函数的关键字是_______。 A. virtual B. public C. protected D. private (8)以下哪个基类中的成员的数表示纯虚函数________。 A. virtual void t()=0; B. void tt(int)=0; C. virtual void t(int); D. virtual void t(in){ }; 三、编程题: 使用虚函数编写程序求球体和圆柱体的体积及表面积。由于球体和圆柱体都可以看作由圆继承而来,所以可以定义圆类Circle作为基类。在Circle类中定义一个数据成员radius和两个虚函数area()和volume()。由Circle 类派生Sphere类和Column类。在派生类中对虚函数area()和volume()重新定义,分别求球体和圆柱体的体积及表面积。
下面关于虚函数的描述,错误的是()。
A.在成员函数声明的前面加上virtual修饰,就可把该函数声明为虚函数
B.基类中说明了虚函数后,派生类中对应的函数也必须说明为虚数
C.虚函数可以是另一个类的友元函数,但不能是静态成员函数
D.基类中说明的纯虚函数在其任何派生类中都必须实现
下面关于虚函数的描述,错误的是
A.在成员函数声明的前面加上virtual修饰,就可把该函数声明为虚函数
B.基类中说明了虚函数后,派生类中对应的函数也必须说明为虚函数
C.虚函数可以是另一个类的友元函数,但不能是静态成员函数
D.基类中说明的纯虚函数在其任何派生类中都必须实现
A.int f(int x, int y);
B.int f(int x);
C.void f(int x, int y);
D.virtual int f(double x, double y);
下面的描述中,正确的是()。
A.virtual可以用来声明虚函数
B.含有纯虚函数的类是不可以用来创建对象的,因为它是虚基类
C.即使基类的构造函数没有参数,派生类也必须建立构造函数
D.静态数据成员可以通过成员初始化列表宋初始化
A.在成员函数声明的前面加上virtual修饰,就可把该函数声明为虚函数
B.基类中说明了虚函数后,派生类中对应的函数也必须说明为虚函数
C.虚函数可以是另一个类的友元函数,但不能是静态成员函数
D.基类中说明的纯虚函数在其任何派生类中都必须实现
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!