"C++分章习题.pdf"
C++是一种强大的、面向对象的编程语言,它在C语言的基础上进行了扩展和改进。本习题集主要涵盖了C++的基础知识,包括类和对象、函数、访问控制以及模板等关键概念。
(1)C++语言的关键改进是引进了类和对象的概念,这使得程序设计更加面向对象,选项D正确。其他选项如新的运算符、函数重载和缺省参数、函数原型的规定,虽然也是C++的重要特性,但不是最根本的变化。
(2)内联函数在编译时处理,编译器会将函数体插入到每个调用该函数的地方,选项B正确。内联函数并不一定必须在类体内定义,可以在类体外通过inline关键字定义,因此选项C和D都不正确。
(3)程序中定义了一个引用变量ref,它绑定到变量num上。ref=ref+2相当于num=num+2,然后输出num为3。接着num=num+3,再输出ref仍为3,因此答案是C)33。
(4)对于频繁调用且功能简单的函数,应该选择内联函数以减少函数调用的开销,选项A正确。
(5)若要使成员不被类的对象直接访问,应将其设为private,选项C正确。public成员可以公开访问,protected成员可以被类及其子类访问,static成员与对象实例无关,可以直接通过类名访问。
(6)交换函数swap中,通过引用传参,但a++后temp被赋值为a的旧值,即2,之后a变为3,b不变。因此,最后输出a仍为2,b为3,答案是A)2,3。
(7)C++的类可以组成层次结构,形成继承关系,因此选项C错误。
(8)模板形参Tsquare中的T是模板形参,用于表示不同类型的数据,选项C正确。
(9)setw输入输出操作符用于控制输出宽度,选项B正确。
(10)函数声明不需要函数体,只需要返回类型、函数名和参数表,选项D正确。
(11)如果有如下语句,这是C++中的模板函数声明,T作为模板参数,表明这个函数可以接受任何类型的参数。
```cpp
template <typename T>
T max(T a, T b);
```
以上内容详细解释了习题集中的部分知识点,涵盖C++的基本概念、函数、引用、内联函数、访问控制、模板、I/O流的控制以及函数声明。这些知识点是理解和使用C++编程的基础。