南开23秋学期(仅限-高起专1909、专升本1909)《面向对象程序设计》在线作业【标准答案】

作者:奥鹏周老师 分类: 南开大学 发布时间: 2023-11-14 21:10

作业答案 联系QQ:3326650399 微信:cs80188

23秋学期(仅限-高起专1909、专升本1909)《面向对象程序设计》在线作业-00003

试卷总分:100 得分:100

一、单选题 (共 35 道试题,共 70 分)

1.类B是类A的公有派生类,类A和类B中都界说了虚函数func(),p是一个指向类A对象的指针,则p->A::func()将( )。

A.调用类A中是函数func()

B.调用类B中是函数func()

C.依据P所指的对象类型而断定调用A中或类B中的函数func()

D.既调用类A中函数,也调用类B中的函数



2.假定A为笼统类,下列句子( )是正确的。

A.A fun(int);

B.A *p;

C.int fun(A);

D.A Obj;



3.在C++中,关于下列设置参数默许值的描绘中,正确的是( )。

A.不答应设置参数的默许值

B.设置参数默许值只能在界说函数时设置

C.设置参数默许值时,大概是先设置右边的再设置左面的

D.设置参数默许值时,大概悉数参数都设置



4.若类A和类B的界说如下: class A { int i,j; public: void get(); }; class B:A//默许为私有派生 { int k; public; void make(); }; void B:: make() { k=i*j; } 则上述界说中,()对错法的表达式。

A.void get();

B.int k;

C.void make();

D.k=i*j;



5.下面叙说中错误的是()。

A.派生类能够运用private派生

B.对基类成员的拜访有必要是无二义性的

C.基类成员的拜访才能在派生类中保持不变

D.赋值兼容规矩也适用于多承继的组合



6.关于this指针的说法错误的是( )。

A.this指针有必要显现阐明

B.当创立一个对象后,this指针就指向该对象

C.成员函数具有this指针

D.静态成员函数不具有this指针



7.将一个函数声明为某类的友元函数后,则在函数中不可以以直接拜访该类的()。

A.公有成员

B.私有成员

C.保护成员

D.都可拜访



8.有关析构函数的说法正确的是( )。

A.析构函数能够有多个

B.析构函数和结构函数相同能够有形参

C.析构函数的功用是用来开释一个对象

D.析构函数的函数类型为void



9.结构化程序设计方法以()为中间进行剖析和设计。

A.结构

B.模块

C.对象

D.类



10.关于下面界说的类A在函数f()中将对象成员n的值修正为60的句子大概是( ) class A { public: A(int x){n=x;} void SetNum(int n1){n=n1;} private: int n; } int f() { A*ptr=new A(6); }

A.A(60)

B.SetNum(60)

C.ptr->SetNum(60)

D.ptr->n=60



11.在公有派生状况下,有关派生类对象和基类对象的关系,不正确的叙说是()。

A.派生类的对象能够赋给基类对象

B.派生类的对象能够初始化基类的引证

C.派生类的对象能够直接拜访基类的成员

D.派生类的对象的地址能够赋给指向基类的指针



12.多承继的结构函数次序可分为如下4步: ①一切非虚基类的结构函数依照它们被承继的次序结构。 ②一切虚基类的结构函数依照它们被承继的次序结构。 ③一切子对象的结构函数依照它们声明的次序结构。 ④派生类自己的结构函数体 这四个过程的正确次序是()。

A.④③①②

B.②④③①

C.②①③④

D.③④①②



13.有关结构函数说法不正确的是( )。

A.结构函数的姓名和类的姓名相同

B.在创立对象时,系统自动调用结构函数

C.结构函数无任何函数类型

D.结构函数有且只要一个



14.下列关于结构函数说法不正确的是()。

A.结构函数有必要与类同名

B.结构函数能够省掉不写

C.结构函数有必要有回来值

D.在结构函数中能够对类中的成员进行初始化



15.关于下面程序段说法正确的是( ) class X { private: int n; public: X(X&); }; X::X(X&x) {n=x.n} X obj1,obj2(obj1);

A.句子obj2(obj1);的功用是用对象obj1初始化具有一样类类型的对象obj2

B.句子obj2(obj1);的功用是用对象obj2初始化具有一样类类型的对象obj1

C.X(X&x)中的&符号能够删去

D.X(X&x)函数中不能拜访对象的私有成员



16.下列关于类的承继描绘中,( )是错误的。

A.派生类能够拜访基类的一切数据成员,也能调用基类的一切成员函数

B.派生类也是基类,但基类纷歧定具有派生类的悉数特点和方法

C.承继描绘类的层次关系,派生类能够具有与基类一样的特点和方法

D.一个基类能够有多个派生类,一个派生类能够有多个基类



17.笼统类的效果首要是()。

A.直接用作基类

B.直接用作指针

C.引证的基类型

D.包含以上各项



18.已知X类,则当程序履行到句子 X array[3]; 时,调用了( )次结构函数。

A.0

B.1

C.2

D.3



19.下面临友元的错误描绘是( )。

A.关键词friend用于声明友元

B.一个类的成员函数能够是另一个类的友元

C.友元函数拜访对象的成员不受拜访特性影响

D.友元函数经过this指针拜访对象成员



20.对基类和派生类的描绘中错误的是( )。

A.派生类是基类的详细化

B.基类承继了派生类的特点

C.派生类是基类界说的连续

D.派生类是基类的特别化



21.下列关于成员拜访权限的描绘中,不正确的是( )。

A.公稀有据成员和公有成员函数都能够经过类对象直接拜访

B.类的私稀有据成员只能被公有成员函数以及该类的任何友元类或友元函数拜访

C.保护成员在派生类中能够被拜访,而私有成员不可以以

D.类或派生类的成员函数能够拜访保护成员



22.( )的功用是对对象进行初始化。

A.析构函数

B.数据成员

C.结构函数

D.静态数据成员



23.关于多承继二义性的描绘中,错误的是()。

A.一个派生类的基类中都有某个同名成员,在派生类中对这个成员的拜访能够呈现二义性

B.处理二义性的最常用的方法是对成员名的限制法

C.基类和派生类一起呈现的同名函数,也存在二义性疑问

D.一个派生类是从两个基类派生出来的,而这两个基类又有一个一起的基类, 对该基类成员进行拜访时,能够呈现二义性



24.动态联编所撑持的多态性是( )。

A.虚函数

B.承继

C.编译时的多态性

D.运转时的多态性



25.下列( )不是结构函数的特征。

A.结构函数的函数名与类名一样

B.结构函数能够重载

C.结构函数能够设置默许参数

D.结构函数有必要指定类型阐明



26.不管派生类以何种方法承继基类,都不能运用基类的( )。

A.public成员

B.private成员

C.protected成员

D.private成员和protected成员



27.要求翻开文件 d:\file.dat,可写入数据,正确的句子是( )。

A.ifstream infile("d:\file.dat", ios::in);

B.ifstream infile("d:\\file.dat", ios::in);

C.ofstream infile("d:\file.dat", ios::out);

D.fstream infile("d:\\file.dat", ios::in| ios::out);



28.下列函数中,能够作为虚函数的是( )。

A.普通函数

B.结构函数

C.静态成员函数

D.析构函数



29.一个类的友元函数或友元类可以经过成员操作符拜访该类的()。

A.私有成员

B.保护成员

C.公有成员

D.一切成员



30.下列虚基类的声明中,正确的是()。

A.class virtual B:public A

B.virtual class B:public A

C.class B: public A virtual

D.class B: virtual public A



31.在类的界说方式中,数据成员、成员函数和( )构成了类界说体。

A.成员的拜访操控信息

B.公有音讯

C.私有音讯

D.保护音讯



32.关于纯虚函数,下列表述正确的是( )。

A.纯虚函数是未给出完成版别(即无函数体界说)的虚函数

B.纯虚函数的声明老是以“=0”完毕

C.派生类有必要完成基类的纯虚函数

D.富含纯虚函数的类必定是派生类



33.下列运算符中,()运算符在C++中不能重载。

A.?:

B.+

C.-

D.=



34.基类和派生类能够别离叫做( )。

A.“大类”和“小类”

B.“父类”和“子类”

C.“小类”和“大类”

D.“子类”和“父类”



35.this指针是C++完成( )的一种机制。

A.笼统

B.封装

C.承继

D.重载



二、判别题 (共 15 道试题,共 30 分)

36.能够在类的结构函数中对静态数据成员进行初始化。



37.界说模板的关键词是template。



38.类的常量数据成员的值只能在创立对象时初始化,初始化后不得再修正。



39.析构函数不能被承继。



40.一个类的结构函数中能够不包括对其子对象的初始化。



41.在C++中,虚函数协助完成了类的封装性。



42.cout后边的符号是<<。



43.函数模板能够与普通函数重载。



44.在类体中能够在声明成员变量的一起为其赋初值。



45.在保护承继中,关于派生类的拜访同于公有承继,而关于派生类的对象的拜访同于私有承继。



46.经过C++语言中类的承继机制,能够扩大和完善已有类以习惯新的需求。



47.经过指针或引证能够调用不一样对象一样称号的函数,但可致使彻底不一样的行动的表象称为二义性。



48.界说一个虚基类后,则该虚基类后继类层次中的类都需求调用虚基类的结构函数对虚基类中界说的成员变量进行初始化。



49.界说虚函数所用的关键词是virtual。



50.复制结构函数一般运用已有对象的引证来初始化创立中的对象。

作业答案 联系QQ:3326650399 微信:cs80188