体验程序之美,享受编程之乐! 《C++与面向对象程序设计》是计算机类专业本科生的专业基础课,是计算机相关专业学生必须具备的知识结构与程序设计技能的重要组成部分,也是学习和理解后续课程的基础。
学堂在线青岛大学C++与面向对象程序设计(2022春)习题答案
绪论
第1章 C++概述:凭什么比C语言多两个加号
- 被称为C++之父的是( )。 ABjarne Stroustmp BBill Gates CAlexander Stepanov DLinus Torvalds…
- C++语言的特点包括()。 AC++保持与C的兼容。 BC++编写的程序比C更安全,可读性更好,代码结构更为合…
- C++对C的扩充包括()。 A面向对象机制 B指针 C泛型程序设计 D引用
- 面向对象比面向过程更贴近于我们认识世界的本质。
- 在面向对象程序设计中,对象可以认为是数据+()。 A类型 B操作 C算法…
- 消息具有的性质包括()。 A同一个对象可以接收多个消息。 B相同形式的消息可以传递给不同的对象。 C…
- 面向对象的三个本质特征是()。 A封装 B继承 C多态 D模板
- 多态性是指不同的对象收到相同的消息时,执行()的操作。 A相同 B不同 C不确定…
第2章 C++的新特性:更灵活的函数和强大的引用
- C++的标准输出流对象是()。 Acin Bcout Cscanf Dprintf E2.1
- C++中使用const定义的常量是有类型的, 占用存储空间。
- 代码const char* name="Messi";中name是()。 A指向常量的指针 B常指针 C指向常量的指针…
- 执行完int *p=new int(10)后,*p的值为()。 A10 B不确定
- 内联函数不能替代C中的类函数宏。
- 内联函数在第一次被调用之前必须进行完整的定义。
- 函数原型为int f(int x=0,float y=5.3),则以下哪种函数调用是合法的? Af(); Bf(1); Cf(1,.5); Df…
- 判断函数重载的依据是()。 A函数名 B函数的参数 C函数的返回类型 D函数的定义…
- 引用的本质就是别名。
- 对变量声明一个引用,编译系统会给它额外单独分配存储单元。
- 在执行int i=5; int &j = i;两句代码之后,&i和&j的值()。 A相同 B不同 C不确定…
- 以下关于引用和指针的说法正确的是()。 A引用和指针的使用没有区别。 B引用和指针不能同时使用。 C…
第3章 封装:数据和操作要在一起
- 在类声明的开头不加访问控制修饰符,则下面的成员是()的。 Apublic Bprotected Cprivate D3.1…
- 既可被类内的成员函数访问,也可被类外的对象访问的是()成员。 Apublic Bprotected Cprivate…
- 以下各种类型中,不能定义为类中的数据成员的是()。 A标准类型 B指针类型 C其他类的对象 D本类对象…
- 以下关于类的成员函数的说法不正确的是()。 A成员函数从属于类。 B成员函数可以任意访问类的数据成…
- 若在类外完成成员函数的定义,则无法声明为内联函数。
- 类的成员函数可以访问以下哪种类型的数据成员()。 Apublic Bprotected Cprivate…
- 可以定义不属于任何类的对象。
- 关于对象的定义,以下说明正确的是()。 A可以在声明类的同时,直接定义对象。 B可以定义好类之后,使用时…
- 假设数据成员和成员函数都是公有的,以下用法正确的是()。 A对象名.数据成员 B对象名.成员函数名(实…
- 构造函数的名字必须与类名完全相同。
- 由于构造函数没有返回值,它的返回类型必须设置为void。
- 以下关于构造函数的说法正确的是()。 A构造函数不能重载。 B只要定义了构造函数,编译器就不会生成缺…
- 析构函数的作用是完成对象的清理工作。
- 以下关于析构函数的说法正确的是()。 A一个类的析构函数只有一个。 B在构造函数名之前加上波浪线(~),…
- 一个使用new运算符动态创建的对象,使用delete释放它时,会自动调用析构函数。…
- 类中包含以下哪种数据时,必须定义析构函数。() A标准类型 B对象成员 C指针成员 D数组…
- 关于拷贝构造函数的说法正确的是()。 A拷贝构造函数的名字与类同名。 B拷贝构造函数只能有一个参数…
- 默认的拷贝构造函数什么都不做 。
- 以下哪些情况下会调用拷贝构造函数。() A当用类的一个对象去初始化该类的另一个对象时 B当函数的形…
- this指针可以直接使用,不需要定义。
- 在成员函数中,可以通过return *this返回当前对象。
- 以下关于使用对象或对象引用作函数参数,说法正确的是()。 A使用对象作参数,实质是传值调用。 B使用对…
- 静态成员函数只能访问静态数据成员。
- 静态数据成员属于类,而不属于某一个具体对象。
- 以下关于静态数据成员初始化,说法正确的是()。 A对于private静态数成员,需要在类内完成初始化。 B静…
- 关于友元函数,说法正确的是()。 A用friend声明。 B既可以是普通函数,也可以是另一个类的成员函数。 …
- 使用友元,在高效访问私有数据成员的同时,并没有破坏封装性。
- 友元类的所有成员函数都是友元函数。
- 关于友元关系,以下说法正确的是()。 A友元关系是单向的 B友元关系是双向的 C友元关系不具有传递性 D…
- 不能使用对象作为类的数据成员。
- 对象成员的构造通只能通过初始化列表来完成。
- 一个类有多个对象成员,其构造顺序如何决定?() A由在类中的声明顺序决定。 B由在构造函数初始化列表中…
第4章 继承:后浪的力量
- 默认的继承方式是()。 Apublic Bprotected Cprivate D4.1
- 构造一个派生类的工作包括()。 A从基类接收成员 B改变基类成员在派生类中的访问属性 C对基类的成员…
- 保护成员经由私有派生在派生类中的访问属性是()。 Apublic Bprotected Cprivate D不可访问…
- 私有成员经由保护派生在派生类中的访问属性是()。 Apublic Bprotected Cprivate D不可访问…
- 派生类构造函数的构造顺序是()。 A先基类,后派生类。 B先派生类,后基类。 C基类与派生类同时构造。…
- 如果派生类的基类也是一个派生类,则派生类不仅负责其直接基类的构造,也要负责间接基类的构造。…
- 在执行派生类的析构函数时,系统会自动调用基类的析构函数。
- 关于派生类中的访问声明,以下说法正确的是()。 A访问声明中变量名不能带类型。 B数据成员也可以使用…
- 如果在派生类中定义了与基类成员同名的成员,则派生类成员覆盖了基类的同名成员。…
- 派生类中数据成员不能和基类中的数据成员同名。
- 判断 一个派生类是多重继承的依据是()。 A有多个基类 B有多种派生方式 C派生类有多个新增数据成员 …
- 多继承的声明中每个基类的派生方式均由第一个基类的派生方式统一规定。…
- 在多继承中,解决二义性问题办法有()。 A使用虚基类 B使用虚函数 C使用::指明基类 D使用公共继承…
- 关于虚基类,以下说法正确的是()。 A对同一个虚基类的构造函数只调用一次,且是在第一次出现时调用。 B…
- 可以把公共派生类的对象看成基类对象。
- 基类和派生类对象之间的赋值兼容规则的使用方法包括()。 A可以用派生类对象给基类对象赋值。 B可以…
- 如果函数的形参是基类对象的引用,则函数调用时可以传递给该函数的参数为()。 A基类对象 B基类对象地…
- 可以将一个声明为指向派生类对象的指针指向其基类的对象。
第5章 多态:同一个调用,不同的响应
- 定义虚函数的关键字是()。 Ainline Bstatic Cvirtual Dfriend E5.1
- 要实现动态多态需要()。 A保护继承 B虚函数 C公共继承 D基类指针或引用…
- 只有在派生类中重新定义虚函数,才能实现动态多态。
- 以下关于虚函数的说法正确的是()。 A虚函数可以是友元函数。 B虚函数可以是类的静态成员函数。 C一…
- 声明纯虚函数的正确写法是()。 Avirtual 函数类型 函数名(参数表); Binline 函数类型 函数名(参数表…
- 关于纯虚函数的说法正确的是()。 A纯虚函数不具备函数的功能,不能被调用。 B纯虚函数没有函数体,不需…
- 包含多个纯虚函数的类是抽象类。
- 可以直接创建抽象类的对象。
第6章 运算符重载:让运算符支持新类型
- 运算符的重载实质上就是函数重载。
- 以下不能进行重载的运算符是()。 A+ B- C++ D+-
- 运算符的重载是为了支持对象之间、对象与标准类型之间的运算。
- 重载运算符的方式有()。 A友元函数 B成员函数 C内联函数 D虚函数
- 使用友元运算符函数定义时, 若重载的是双目运算符,则参数表中操作数的个数为()。 A1 B2 C不确定 D6.2…
- 使用友元运算符函数定义时, 若双目友元运算符函数operator@ 所需的两个操作数为a和b,则该运算符的…
- 对++运算符的重载,可以有前缀或后缀形式,其区分的依据是() A函数参数的类型 B函数参数的个数 C是友元…
- 对象obj使用operator--(ob,2)调用--操作,则该--操作为()。 A前缀方式 B后缀方式 C不确定…
- 运算符重载函数operator @不能返回void类型。
- 使用类的成员运算符函数定义时, 若重载的是双目运算符,则参数表中操作数的个数为()。 A1 B2 C不确定 …
- 对双目运算符,成员运算符函数的参数表中的参数为该运算符的左操作数。…
- 关于运算符的重载,以下说法正确的是()。 A只能对已有的C++运算符进行重载,不允许用户自己定义新的运…
第7章 模板:数据类型也可以复用
- 模板的使用包括函数模板和类模板。
- 函数模板和模板函数是相同的概念。
- 当函数模板与同名的非模板函数重载时,函数调用匹配的第一顺序是()。 A参数完全匹配的普通函数 B类型…
- 类模板是一个通用类,其中可以用虚拟类型来说明的包括()。 A类的数据成员 B成员函数的返回类型 C成员…
- 在定义类模板或函数模板时,模板头中使用typename或class表示虚拟数据类型是等价的。…
- 与函数模板不同的是,类模板在实例化时必须显式地指明具体的数据类型,而不能由编译器推导。…