C程序员面试经典问题.docxVIP

  • 4
  • 0
  • 约3.24千字
  • 约 6页
  • 2019-09-14 发布于广东
  • 举报
C++程序员面试经典问题 1、静态成员必须要在类外初始化,无法在构造函数内初始化。新标准的C++也允许在生命静态数 据成员的是后直接加等于号进行初始化,但是大部分编译器不支持。所以最保险的办法就是在类定 义的外面再写: int Foo::a = 0; 函数则很普通成员函数的声明以及实现没区别,唯一要注意的是,静态函数是没有this指针的,因 此不能访问任何非静态的其他成员函数或成员变量,如果要访问需要传递this指针进去 1、 重载函数是函数的一种特殊情况,为方便使用,C++允许在同一范I韦I屮声明儿个功能类似的同 名函数,但是这些同名函数的形式参数(指参数的个数、类型或者顺序)必须不同,也就是说 用同一个运算符完成不同的运算功能。这就是重载函数。重载函数常用来实现功能类似而所处 理的数据类型不同的问题。 2、 拷贝构造两数的参数为什么是类的引用,而不是类的对象,传递对象的话会造成极度的负担, 一个对象的大小难以确定,可能会非常大,如果像普通那样进行浅拷贝的话,可能会带來资源 不足的问题,严重拖累程序的效率。按引用传递则传递了地址(像指针),同时在语法上却像传 值一样方便。这样就不会有很大负担了 3、 常对象必须初始化,并且初始化后不能修改数据成员。 常成员函数不能更新对象的数据,也不能调用非const修饰的成员函数。常对象只能调用类的 常成员函数。 实际上具体大概有下面两种情况

文档评论(0)

1亿VIP精品文档

相关文档