• 面向对象的原则是什么?
封装、继承和多态
  • C++的空类默认产生哪些类成员函数?
默认构造函数、析构函数、复制构造函数和赋值函数
  • 为什么拷贝构造函数只能传递引用
以传值方式调用函数时,会拷贝临时变量,此时又会调用拷贝构造函数来构造临时变量,从而出现无限循环。
  • 哪一种成员变量可以在所有该类的实例之间共享?
静态成员变量
  • C++中class和struct的区别
  • 如何在类中使用常量成员变量?
使用const修饰的成员变量,必须在初始化列表中初始化。
  • 把析构函数定义成virtual的意义在哪?
当析构函数被定义成virtual的以后,销毁父类对象时,会先执行子类的析构函数,销毁掉子类对象。
  • 为什么构造函数不能被定义成virtual的?
虚函数内部是通过虚函数表来实现的,在执行时能通过vptr指针指向正确的子类对象函数。而在创建对象时,必须要知道创建对象的准确类型,因此构造函数不能为虚。
  • 析构函数可以时内联函数吗?
可以
最后修改:2019 年 04 月 21 日
如果觉得我的文章对你有用,请随意赞赏