南开大学23年秋学期《程序设计基础(下)》在线作业一
奥鹏南开大学23年秋季新学期作业参考
23秋学期(仅限-高起专1909、专升本1909)《程序设计基础(下)》在线作业-00001
已知X类.则当程序执行到语句X *array=new X[2];时,调用了( )次构造函数。
A:0
B:1
C:2
D:3
正确答案问询微信:424329
以下关于数据的存储结构的叙述中哪一条是正确的( )。
A:数据的存储结构是数据间关系的抽象描述
B:数据的存储结构是逻辑结构在计算机存储器中的实现
C:数据的存储结构分为线性结构和非线性结构
D:数据的存储结构对数据运算的具体实现没有影响
正确答案问询微信:424329
假定X为一个类,执行X a[3],*p[2];语句时会自动调用该类的构造函数( )次。
A:2
B:3
C:4
D:5
正确答案问询微信:424329
在C++中,要实现动态联编,可以使用( )调用虚函数。
A:类名
B:派生类指针
C:对象名
D:基类指针
正确答案问询微信:424329
下面关于友元的描述中,错误的是( )。
A:友元函数可以访问该类的私有数据成员
B:一个类的友元类中的成员函数都是这个类的友元函数
C:友元可以提高程序的运行效率
D:类与类之间的友元关系可以继承
正确答案问询微信:424329
当一个派生类私有继承一个基类时,基类中的所有公有成员和保护成员成为派生类的( )。
A:public成员
B:private成员
C:protected成员
D:友元
正确答案问询微信:424329
对于一个具有n个顶点的有向强连通图,它包含的强连通分量的个数为( )。
A:0
B:1
C:n
D:n+1
正确答案问询微信:424329
下列关于栈的叙述中正确的是( )。
A:在栈中只能插入数据
B:在栈中只能删除数据
C:栈是先进先出的线性表
D:栈是先进后出的线性表
正确答案问询微信:424329
当使用ifstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为( )。
A:ios::in
B:ios::out
C:ios::trunk
D:ios::binary
正确答案问询微信:424329
( )是析构函数的特征。
A:析构函数可以有一个或多个参数
B:析构函数定义只能在类体内
C:析构函数名与类名不同
D:一个类中只能定义一个析构函数
正确答案问询微信:424329
下列说法中错误的是( )。
A:公有继承时基类中的public成员在派生类中是public的
B:公有继承时基类中的private成员在派生类中是不可访问的
C:私有继承时基类中的public成员在派生类中是private的
D:私有继承时基类中的public成员在派生类中是protected的
正确答案问询微信:424329
采用顺序编号的完全二叉树,若一个分支结点的编号为i,则其右子树的根结点(即右孩子结点)编号为( )。
A:2*i
B:2*i+1
C:2*(i+1)
D:2*(i+2)
正确答案问询微信:424329
下列程序段中具有相同值的是( ) class Base {int b;}; class Base1:virtual public base{int b1;}; class Base2:virtual public base{int b2;}; class derived:public base 1,public base 2{int b3;}; derived d;
A:d.b与d.base1::b
B:d.base1::b与 d.base1::b1
C:d.b与 d. b3
D:d.base2::b与 d.base2::b2
正确答案问询微信:424329
某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为( )。
A:3
B:4
C:6
D:7
正确答案问询微信:424329
在一个顺序循环队列中,队尾指针指向队尾元素的( )位置。
A:前一个
B:后一个
C:当前
D:最后
正确答案问询微信:424329
关于纯虚函数,下列表述正确的是( )。
A:纯虚函数是未给出实现版本(即无函数体定义)的虚函数
B:纯虚函数的声明总是以“=0”结束
C:派生类必须实现基类的纯虚函数
D:含有纯虚函数的类一定是派生类
正确答案问询微信:424329
下面描述中,错误的是( )。
A:虚函数是没有实现的函数
B:纯虚函数的实现在派生类中
C:抽象类是有纯虚函数的类
D:抽象类指针可以指向不同的派生类
正确答案问询微信:424329
关于动态关联的下列叙述中,()是错误的。
A:动态关联是以虚函数为基础的
B:动态关联调用虚函数操作是指向对象的指针或引用
C:动态关联是在运行时确定所调用的函数代码的
D:动态关联是在编译时确定操作函数的
正确答案问询微信:424329
在一个单链表中,若p所指结点不是最后结点,在p之后插入s所指结点,则执行( )。
A:s->next=p;p->next=s;
B:s->next=p->next;p->next=s;
C:s->next=p->next;p=s;
D:p->next=s;s->next=p;
正确答案问询微信:424329
多态调用是指( )。
A:以任何方式调用一个虚函数
B:以任何方式调用一个纯虚函数
C:借助于指向对象的基类指针或引用调用一个虚函数
D:借助于指向对象的基类指针或引用调用一个纯虚函数
正确答案问询微信:424329
关于类和对象正确的说法包括( )。
A:类是一种类型,它封装了数据和操作
B:对象是类的实例
C:一个类的对象只有一个
D:一个对象必属于某个类
正确答案问询微信:424329
下面描述中,正确的是( )。
A:使用fstream类必须包含头文件fstream
B:ostream对象用来实现输出操作
C:ios是iostream的直接基类
D:iostream是通过多重继承得到的派生类
正确答案问询微信:424329
下面对对象成员的正确描述是( )。
A:可以在构造函数的初始化列表中给出对象成员的初始化
B:可以在构造函数的函数体中给出对象成员的初始化
C:如果一个对象成员有无参构造函数,则可以省略对象成员的初始化语句
D:若A类中有B类对象成员,则在创建A类对象时,先执行B类的构造函数,再执行A类的构造函数
正确答案问询微信:424329
下列说法中正确的是( )。
A:一个成员函数在类体外定义,则该成员函数默认是内联函数
B:一个成员函数在类体中定义,则该成员函数默认是内联函数
C:在类体外定义成员函数需要使用::运算符指明该成员函数属于哪个类
D:类体外定义的成员函数默认为公有成员函数
正确答案问询微信:424329
假设A为抽象类,下列语句( )是错误的。
A:A fun(int);
B:A *p;
C:int fun(A);
D:A Obj;
正确答案问询微信:424329
对静态成员的错误描述是( )。
A:静态成员不属于对象,是类的共享成员
B:静态数据成员要在类外定义和初始化
C:调用静态成员函数时要通过类或对象激活,所以静态成员函数拥有this指针
D:静态成员函数可以操作非静态数据成员
正确答案问询微信:424329
基类中的公有成员可能是派生类的( )。
A:public成员
B:private成员
C:protected成员
D:友元成员
正确答案问询微信:424329
在派生类中可以直接访问基类的()。
A:公有成员
B:保护成员
C:私有成员
D:友元成员
正确答案问询微信:424329
下面描述中,正确的是( )。
A:多重继承中,派生类对象被销毁时析构函数的调用顺序与派生类对象创建时构造函数的调用顺序相反
B:多重继承中,派生类对象被销毁时析构函数的调用顺序与派生类对象创建时构造函数的调用顺序一致
C:多重继承中创建派生类对象时各基类构造函数的调用顺序与基类构造函数在初始化列表中的出现顺序一致
D:多重继承中,如果派生类的初始化列表中没有某个基类构造函数的调用语句,则表示调用该基类的无参构造函数
正确答案问询微信:424329
下列( )是构造函数的特征。
A:构造函数在创建对象时自动调用
B:构造函数不可以重载
C:构造函数不可以设置默认参数
D:构造函数没有函数类型
正确答案问询微信:424329
下列关于类模板的描述中,正确的是( )。
A:类模板的模板形参表中既可以有类型形参也可以有普通形参
B:类模板的成员函数中可以用类型形参定义局部变量
C:类模板中可以用类型形参声明成员变量
D:类模板只能在类体中给出成员函数的实现
正确答案问询微信:424329
下面关于自定义类的运算符重载的说法中,正确的是( )。
A:可以根据需要重新定义重载的运算符的优先级和结合性
B:重载运算符的操作数个数不能改变
C:运算符重载要求至少有一个运算数是自定义类型
D:运算符重载有成员重载和友元重载两种形式
正确答案问询微信:424329
下面描述中,正确的是( )。
A:在基类定义的public成员在公有继承的派生类中可见,也能在类外被访问
B:在基类定义的public和protected成员在私奥鹏南开大学23年秋季新学期作业参考有继承的派生类中可见,在类外可以被访问
C:在基类定义的public和protected成员在保护继承的派生类中可见
D:在派生类中不可见的成员要变成可访问的,需要进行访问声明
正确答案问询微信:424329
下列打开文件的语句中,能对打开文件进行写操作的选项包括( )。
A:fstream f("file.txt");
B:ofstream f("file.txt");
C:ifstream f("file.txt");
D:ifstream f("file.txt",ios::out);
正确答案问询微信:424329
下列描述中,正确的是( )。
A:派生类构造函数主要是对派生类新定义的成员变量进行初始化
B:派生类从基类继承的成员变量的初始化通过基类构造函数完成
C:派生类对象被销毁时会先调用基类析构函数
D:派生类对象被销毁时会先调用派生类析构函数
正确答案问询微信:424329
模板定义中标识类型的参数必须用关键字Type修饰。
A:对
B:错
正确答案问询微信:424329
运算符[]只能用成员运算符来重载,不能用友元运算符来重载。
A:对
B:错
正确答案问询微信:424329
m(m≥0)棵相交的树的集合就构成了森林。
A:对
B:错
正确答案问询微信:424329
在图的所有形式的生成树中,边上的权之和最小的生成树,称为图的最小生成树。
A:对
B:错
正确答案问询微信:424329
可以在类的构造函数中对静态数据成员进行初始化。
A:对
B:错
正确答案问询微信:424329
邻接链表可以存储有向图和无向图,而邻接矩阵也可以存储无向图和无向图。
A:对
B:错
正确答案问询微信:424329
若无向图G的一个子图G'是一棵包含图G所有顶点的树,则G'称为图G的生成树。
A:对
B:错
正确答案问询微信:424329
使用模板可以减少重复劳动,提高代码重用率。
A:对
B:错
正确答案问询微信:424329
C++基类中,不能被派生类继承的有构造函数和析构函数。
A:对
B:错
正确答案问询微信:424329
满二叉树是完全二叉树。
A:对
B:错
正确答案问询微信:424329
线性表的链式存储结构中,表中元素的逻辑顺序与物理顺序一定相同。
A:对
B:错
正确答案问询微信:424329
通过指针或引用可以调用不同对象相同名称的函数,但可导致完全不同的行为的现象称为二义性。
A:对
B:错
正确答案问询微信:424329
getline()函数从流中提取终止字符,但终止字符被丢弃。
A:对
B:错
正确答案问询微信:424329
在私有继承中,基类中只有公有成员对派生类是可见的。
A:对
B:错
正确答案问询微信:424329
顺序表能够存放的最大元素数量n称为线性表的长度。
A:对
B:错
正确答案问询微信:424329