2016年相关概念题

填空题

  1. 程序从哪里开始运行 main()函数
  2. 三种控制结构 顺序选择循环
  3. 可以初始化指针的值 nullptr(或NULL)0具体的地址
  4. 对象之间看不到其他对象的具体操作的属性是 信息隐藏
  5. 用户自定义类型的一个实例叫 对象

std::cin,std::cout,std::cerr的含义

  • cin: istream的对象,用来完成从标准输入设备的输入;
  • cout: ostream对象,是标准输出流,完成从标准输出设备的输出;
  • cerr: ostream对象,是标准错误输出流,没有缓冲,发送给它的内容立即被输出;
  • clog: ostream对象,是标准错误输出流,有缓冲,缓冲区满时才输出。

存储类说明符有哪些?它们的作用分别是什么?

auto存储类

C++ 11,auto关键字有两种情况:声明变量时根据初始化表达式自动推断该变量的类型,声明函数时函数返回值的占位符。

C++ 98,auto关键字用于自动变量的声明,在C++ 11中已经删去这种用法。

register存储类

定义存储在寄存器而不是RAM中的局部变量,这样的情况下,变量的最大尺寸取决于寄存器的大小,且不能对其使用取地址运算符(&)。

static存储类

指示编译器在程序的生命周期内保持局部变量的存在,不需要在每次进入和离开其作用域时分配内存和释放内存,可以用于保持局部变量的值。

同时,也能够用于修饰全局变量,修饰全局变量时,使变量作用域限制在声明它的文件内。

还有一种用法就是作用于类的数据成员,使其成为类的静态数据成员,导致仅有一个该成员的副本被所有类的对象共享。

extern存储类

用于提供一个全局变量的引用,全局变量对于所有的程序文件都是可见的。使用extern关键字时,不会初始化变量,只会把变量名指向一个之前定义过的存储位置。

mutable存储类

适用于类的对象,mutable数据成员通过const成员函数修改。

*运算符的含义

有三种含义,分别是乘法、指针的间接运算和声明指针。

哪些运算符不能重载

C++标准规定,不能重载的运算符有:类属关系运算符“.”、成员指针运算符“.*”、作用域分辨符“::”和三目运算符“?:”。必须重载为成员函数的运算符有:赋值运算符“=”、取下标运算符“[]”、成员访问运算符“->”和函数运算符“()”。

C++多态的实现(同2010)

多态是指同样的消息被不同类型的对象接收时导致不同的行为。从实现的角度可以分为编译时多态和运行时多态。前者是在编译过程中确定同名操作的具体操作对象,主要是通过所声明的类型匹配相应操作,例如函数的重载,后者则是在程序运行过程中才动态地确定操作所针对的具体对象,例如虚函数,其主要是通过虚表实现。

猜你喜欢

转载自www.cnblogs.com/southernEast/p/12461626.html