一些题
- 在C++中,作用域运算符(::)常用的功能是
A、
标识作用域的级别
B、
指出作用域的范围
C、
给定作用域的大小
D、
标识某个成员属于哪个类
D
-
在下列存储类标识符中,可见性和存在性不一致的是( )。
A、 外部类
B、 自动类
C、 内部静态类
D、 寄存器类
C
3.关于局部变量的说法中,不正确的是( )。
A、
函数声明中的形式参数名在函数被调用时分配内存空间
B、
不同的函数中可以定义同名的局部变量
C、
函数定义中的形式参数名也是局部变量
D、
局部变量只在定义它的函数或复合语句(块)中有效
A
是函数定义中的形式参数名在函数被调用时分配内存空间
- f1和f2是同一个类的两个成员函数,但f1不能调用f2,下列选项中符合要求的是( )。
A、f1和f2都是静态函数
B、f1和f2都不是静态函数
C、f1是静态函数,f2不是静态函数
D、f1不是静态函数,f2是静态函数
C
- 不能作为函数重载判断依据的是( )。
A、参数个数
B、参数类型
C、返回值类型
D、const
C
- 对于常数据成员,下面的描述正确的是( )。
A、常数据成员可以不初始化,并且不能更新
B、常数据成员必须被初始化,并且不能更新
C、常数据成员可以不初始化,并且可以被更新
D、常数据成员必须被初始化,并且可以被更新
B
- 关于常成员函数的说法中,不正确的是( )。
A、const是常成员函数类型的组成部分
B、常对象只能引用常成员函数,而不能引用非常成员函数
C、常成员函数中不能调用非常成员函数
D、常成员函数可以引用和修改类的非常数据成员
D
- 下列关于用#define定义的常量的说法中,正确的是( )。
A、在函数中定义的常量的作用域从定义起到该函数结束
B、在函数中定义的常量的作用域从定义起到#undef取消为止或文件结束
C、在一个函数中定义的常量不能在同一个文件的后续的其它函数中取消
D、在一个函数中定义的常量不能在同一个文件的后续的其它函数中重新定义
B
- 在带参数的宏定义中,程序中引用宏定义的实参( )。
A、只能是常量
B、只能是整型量
C、只能是整型表达式
D、可以是任意表达式
D
- 下列叙述中,正确的是( )。
A、预处理命令行必须位于源文件的开头
B、在源文件的一行上可以有多条预处理命令
C、宏名必须用大写字母表示
D、宏替换不占用程序的运行时间
D
- 类中非静态数据成员的生存期( )。
A. 由对象的生存期决定
B. 比对象的生存期长
C. 比对象的生存期短
D. 与对象的生存期无关
A
知识点
静态成员函数
可以通过静态成员函数直接访问静态成员,而不需要通过对象进行访问。
这样可以直接写
类名::函数名
不能在类的构造函数中被初始化(这样的话,每创建一个对象,就要更新一次,这样是不对的)
常成员函数
使用const关键词
不更新对象的数据成员
在实现函数体部分也要加上const
const关键字可以被用于区分重载函数
通过常对象只能调用常成员函数,不能调用普通的成员函数
普通对象可以调用常成员函数和普通的成员函数
常引用
const int & a
形式的
常引用所引用的对象不能通过引用名更新
当常引用作为形参时,便不会意外发生对实参更改的情况
常数据成员
常数据成员是不能被更改值的
常数据成员可以在类中定义一个初始化值,此外的初始化就只能在构造函数初始化列表中进行