【期末高分题集】[东北师范大学]《C++程序设计》考核必备99

奥鹏期末考核

50059–《C++程序设计》2022年东北师范大学期末复习题集

单选题:
(1)对于公有继承,基类的公有和保护成员在派生类中将()成员。
A.全部变成公有
B.全部变成保护
C.全部变成私有
D.仍然保持为公有和保护
答案问询微信:424329

(2)下列不是文件流类的是()。
A.ifstream
B.iostream
C.fstream
D.ofstream
答案问询微信:424329

(3)C++流类库预定义的与标准输出设备相关联的是()。
A.cin
B.cout
C.cerr
D.clog
答案问询微信:424329

(4)通常拷贝构造函数的参数是()。
A.某个对象名
B.某个对象的成员名
C.某个对象的引用名
D.某个对象的指针名
答案问询微信:424329

(5)C++语言建立类库是通过()实现的。
A.类的嵌套
B.类的继承
C.虚函数
D.抽象类
答案问询微信:424329

(6)在 C++ 中,数据与操作的封装是借助于()达到的。
A.指针
B.类
C.数组
D.函数
答案问询微信:424329

(7)一个()允许用户为类定义一种模式,使得类中的某些数据成员及成员函数的返回值能取任意类型。
A.函数模板
B.模板函数
C.类模板
D.模板类
答案问询微信:424329

(8)在下面有关友元函数的描述中,正确的说法是()。
A.友元函数是独立于当前类的外部函数
B.一个友元函数不能同时定义为两个类的友元函数
C.友元函数必须在类的外部定义
D.在外部定义友元函数时,必须加关键字friend
答案问询微信:424329

(9)假设Sample是个类,则语句“Sample a[2],*p[3];”调用构造函数的次数为()。
A.0
B.2
C.3
D.5
答案问询微信:424329

(10)关于成员函数特征的下述描述中,()是错误的。
A.成员函数一定是内联函数
B.成员函数可以重载
C.成员函数可以设置参数的缺省值
D.成员函数可以是静态的
答案问询微信:424329

(11)可以用p.a的形式访问派生类对象p的基类成员a,其中a是()
A.私有继承的公有成员
B.公有继承的私有成员
C.公有继承的保护成员
D.公有继承的公有成员
答案问询微信:424329

(12)()不是构造函数的特征。
A.构造函数的函数名与类名相同
B.构造函数可以重载
C.构造函数可以设置缺省参数
D.构造函数必须指定类型说明
答案问询微信:424329

(13)下面不能作为函数的返回类型的是()。
A.new
B.int
C.long
D.void
答案问询微信:424329

(14)面向对象程序设计将数据与()放在一起,作为一个相互依存、不可分割的整体来处理。
A.对数据的操作
B.信息
C.数据隐藏
D.数据抽象
答案问询微信:424329

(15)C++语言对C语言做了很多改进,C++语言相对于C语言的最根本的变化是()。
A.增加了一些新的运算符
B.允许函数重载,并允许设置缺省参数
C.规定函数说明符必须用原型
D.引进了类和对象的概念
答案问询微信:424329

(16)在C++中,编写一个内联函数Fun,使用int类型的参数,求其平方并返回,返回值也为int类型,下列定义正确的是()。
A.int Fun(int x){return x*x;}
B.inline int Fun(int x){return x*x;}
C.int inline Fun(int x){return x*x;}
D.int Fun(int x){inline return x*x;}
答案问询微信:424329

(17)当将一个函数f()说明为另一个类B的友元后,函数f()能够直接访问类B的()。
A.只能是公有成员
B.只能是保护成员
C.只能是除私有成员之外的任何成员
D.具有任何权限的成员
答案问询微信:424329

(18)下列关于构造函数的描述中,错误的是()。
A.构造函数可以设置默认参数;
B.构造函数在定义类对象时自动执行
C.构造函数可以是内联函数
D.构造函数不可以重载
答案问询微信:424329

(19)关于void指针,下列说法正确的是()。
A.void指针就是已定义而未初始化的指针
B.void指针就是未指向任何数据的指针
C.void指针值可以直接赋给一个非void指针
D.指向任何类型数据的指针可直接赋值给一个void指针
答案问询微信:424329

判断题:
(1)前缀自增运算符用成员函数方式重载时,其参数个数为0,用友元函数重载时,其参数个数为奥鹏期末考核1。
答案问询微信:424329

(2)虚基类中的成员函数都是虚函数。
答案问询微信:424329

(3)cout通常与键盘相连,cin通常与显示器相连。
答案问询微信:424329

(4)基类的公有成员在派生类中的访问权限由派生方式决定。
答案问询微信:424329

(5)IO流库中定义的格式操作符ws表示跳过输入流前面的空白字符。
答案问询微信:424329

(6)ofstream是用于读文件的文件流。
答案问询微信:424329

(7)常量和引用在声明时必须初始化。
答案问询微信:424329

(8)C++中的函数调用就是面向对象理论中的方法。
答案问询微信:424329

(9)对于类中内嵌的对象、常量、引用等数据成员需要在构造函数的初始化列表中初始化。
答案问询微信:424329

(10)C++中的函数就是面向对象理论中的消息。
答案问询微信:424329

(11)this指针是一个const指针,不能在程序中修改它或给它赋值。
答案问询微信:424329

(12)常类型是指使用类型修饰符const说明的类型,常类型的变量或对象成员的值在程序运行期间是不可改变的。
答案问询微信:424329

(13)C++对由const修饰符定义的常量进行严格的类型检查,但对用define定义的常量则不进行类型检查。
答案问询微信:424329

(14)当一个类被说明为另一个类的友元时,它的所有的成员函数都成为另一个类的友元函数。
答案问询微信:424329

(15)指针和引用都是变量,都占有单独的内存空间。
答案问询微信:424329

应用题:
(15)指针和引用都是变量,都占有单独的内存空间。
答案问询微信:424329

(15)指针和引用都是变量,都占有单独的内存空间。
答案问询微信:424329

(15)指针和引用都是变量,都占有单独的内存空间。
答案问询微信:424329

(15)指针和引用都是变量,都占有单独的内存空间。
答案问询微信:424329

(15)指针和引用都是变量,都占有单独的内存空间。
答案问询微信:424329

(15)指针和引用都是变量,都占有单独的内存空间。
答案问询微信:424329

案例分析题:
(1)指出下面程序中的1处错误,并说明原因。#includeiostream.h class Point{ int X,Y; public: Point( ){X=0;Y=0;} Point(int x=0,int y=0){X=x;Y=y;} void display( ){coutX","Yendl;} };void main(){ Point p; p.display();}答:
答案问询微信:424329

(2)指出下列程序中的1处错误,并说明为什么。#includeiostream.h#includestdlib.hclass CTest{public: const int y2; CTest(int i1, int i2,int i3):y1(i1),y2(i2) { x=i3; } int show() const{cout"y1="y1"ny2="y2"nx="xendl;} //…private: int x; const int y1;};void main(){ CTest c(1,2,3); c.show(); c.y2 = -2; c.show();}答:
答案问询微信:424329

(3)指出下列程序中的1处错误,并说明为什么。#includeiostream.hclass Student{ char name[10]; int age; float aver; void printStu();};void main(){ Student p1,p2,p3; p1.age =30; //…}答:
答案问询微信:424329

(4)指出下列程序中的1处错误,并说明为什么。#include iostream.h class shape { public: int area () {return 0;}};class rectangle: public shape {public:int a, b;void setLength (int x, int y) {a=x; b=y;}int area () {return a*b; } };void main () {rectangle r; r.setLength (3,5); shape* s= cout r.area () endl; cout s.area () endl; }答:
答案问询微信:424329

(5)写出下面程序的输出结果。#include iostream.hclass A{private:static int n;int X;public:A(int x=0) { X=x; n++; }~A() { n– ; }static int GetNum(){ return n; }void print();};void A::print() { cout "n=" n ", X=" X endl; }int A::n = 0;void main(){A *p=new A(12); p-print(); A a(34); a.print(); delete p; cout "n=" A::GetNum() endl;}答:
答案问询微信:424329

(6)写出下面程序的运行结果。#includeiostream.h class A { public: int n; }; class B:virtual public A{}; class C:virtual public A{}; class D:public B,public C { int getn(){return B::n;} }; void main() { D d; d.B::n=10; d.C::n=20; coutd.B::n","d.C::nendl; } 答:
答案问询微信:424329

简答题:
(1)什么是函数重载和运算符重载?为什么要使用重载?
答案问询微信:424329

(2)拷贝构造函数在哪几种情况下被调用?
答案问询微信:424329

(3)什么是类?什么是对象?对象与类的关系是什么?
答案问询微信:424329

(4)什么是多态性?请举例说明。
答案问询微信:424329

(5)什么是面向对象程序设计?
答案问询微信:424329

提供优质的教育资源

公众号: 超前自学网