南开大学计算机科学与技术专业《程序设计基础(下)》作业及答案1
A.fstream
B.ofstream
C.ifstream
D.ostream
A
A.在基类定义的public成员在公有继承的派生类中可见,也能在类外被访问
B.在基类定义的public和protected成员在私有继承的派生类中可见,在类外可以被访问
C.在基类定义的public和protected成员在保护继承的派生类中可见
D.在派生类中不可见的成员要变成可访问的,需要进行访问声明
B
A.f->next=s; f=s;
B.r->next=s; r=s;
C.s->next=r; r=s;
D.s->next=f; f=s;
B
A.首先为该动态对象调用构造函数,再释放其占用的内存
B.首先释放该动态对象占用的内存,再为其调用构造函数
C.首先为该动态对象调用析构函数,再释放其占用的内存
D.首先释放动态对象占用的内存,再为其调用析构函数
C
A.类是一种类型,它封装了数据和操作
B.对象是类的实例
C.一个类的对象只有一个
D.一个对象必属于某个类
C
A.23
B.24
C.25
D.无法确定
A
A.r=f->next;
B.r=r->next;
C.f=f->next;
D.f=r->next;
C
A.s
B.s+1
C.s-1
D.2s
D
A.规律性
B.传递性
C.重复性
D.多样性
B
A.public
B.private
C.protected
D.friend
A
A.系统不能提供默认的析构函数
B.析构函数必须由用户定义
C.析构函数没有参数
D.析构函数可以设置默认参数
C
A.2的i次方减1
B.2的i-1次方
C.2的i次方加+1
D.2的i+1次方
B
A.class virtual public A
B.virtual class public
C.class public A virtual
D.class virtual public A
D
A.1
B.2
C.3
D.4
B
A.公有继承时基类中的public成员在派生类中是public的
B.公有继承时基类中的private成员在派生类中是不可访问的
C.私有继承时基类中的public成员在派生类中是private的
D.私有继承时基类中的public成员在派生类中是protected的
D
A.继承
B.是类与类之间是关系
C.是一个类的成员函数与另一个类的关系
D.提高程序的运行效率
A
A.public成员
B.private成员
C.protected成员
D.友元
A
A.友元函数可以访问该类的私有数据成员
B.一个类的友元类中的成员函数都是这个类的友元函数
C.友元可以提高程序的运行效率
D.类与类之间的友元关系可以继承
D
A.析构函数有且仅有一个
B.析构函数和构造函数一样可以有形参
C.析构函数的功能是用来释放一个对象
D.析构函数无任何函数类型
B
A.成员函数
B.构造函数
C.析构函数
D.普通函数
C
A.派生类
B.继承类
C.子类
D.父类
AC
A.普通函数
B.构造函数
C.静态成员函数
D.析构函数
ABC
A.线性表
B.树
C.图
D.集合
BCD
A.公有成员
B.保护成员
C.私有成员
D.友元成员
AB
A.赋值运算符和下标运算符只能重载为类的成员函数
B.赋值运算符和下标运算符只能重载为类的友元函数
C.赋值运算符重载时一般以引用方式返回*this,表示返回赋值运算符的左操作数
D.使用重载的赋值运算符时,左操作数一定是自定义类型
ACD
A.d=b
B.b=d
C.Derived*d=&b
D.Base&b=d
A.除了后增后减单目运算符外,其他运算符重载为类的成员函数时,函数参数个数比运算符实际操作数个数少一个
B.运算符重载为类的成员函数时,函数中的this指针指向第一个运算数
C.只有运算符的第一个运算数是自定义类类型时,才能将该运算符重载为类的成员函数
D.所有运算符都可以以类成员函数形式进行重载
A.f.write((char*)a,sizeof(a));
B.f.write((char*)&a,sizeof(a));
C.f.read((char*)a,sizeof(a));
D.f.read((char*)&a,sizeof(a));
A.当一个类中有指针成员变量时,浅拷贝有可能会导致一片内存被重复释放
B.当一个类中有指针成员变量时,浅拷贝有可能导致一个对象中保存的数据不正确
C.如果一个类中只有int型和double型的成员变量,则浅拷贝不会出现任何问题
D.如果一个类中有一个成员变量是char型数组,则使用浅拷贝会存在问题
A.m_x、m_y和m_radius都是Circle类的成员变量
B.setCenter、setRadius和getArea都是Circle类的成员函数
C.类定义体后面的分号可以省略
D.将double m_radius;改为double m_radius=1;,则表示m_radius成员变量的初值为1
A.多重继承中,派生类对象被销毁时析构函数的调用顺序与派生类对象创建时构造函数的调用顺序相反
B.多重继承中,派生类对象被销毁时析构函数的调用顺序与派生类对象创建时构造函数的调用顺序一致
C.多重继承中创建派生类对象时各基类构造函数的调用顺序与基类构造函数在初始化列表中的出现顺序一致
D.多重继承中,如果派生类的初始化列表中没有某个基类构造函数的调用语句,则表示调用该基类的无参构造函数