C++
文章平均质量分 79
灵就工大弟子
这个作者很懒,什么都没留下…
展开
-
C++中构造函数和析构函数与虚函数之间的关系要点
首先对构造函数、析构函数、虚函数的概念作出定义。 构造函数是类的同名成员函数,当创建类对象时它会自动执行,一般负责对类进行初始化、分配资源。 public: 类名(参数) { p = new int; } 注意: 构造函数的访问属性必须是public否则无法创建对象; 构造函数可以重载,可以有多个版本的构造函数; 调用带参数的构造函数:Test t(实参); 默认情况下编译器自动生成一个没有参数的,什么都不做的构造函数,如果一旦显式实现带参数的构造函数,则无参构造不生成,Text t调用无参构造时,如果没原创 2021-07-19 00:18:02 · 485 阅读 · 2 评论 -
C++类对象常见面试题(三)
一、介绍多重继承、钻石继承和虚继承 1、多重继承是指当一个子类继承多个父类时,会按照继承表的顺序在子类中排列父类,子类会标记每个父类的位置,当把子类的指针转换成父类指针时,编译器会自动计算父类所在的位置,指针会自动偏移,然后转换给父类指针 2、钻石继承: 假如有一个类A,类B和类C都继承了类A,类D又同时继承了类B和类C,此时类A的内容会在类D中存在两份;当子类的父类有共同的祖先时,这种继承被称为钻石继承 (1)类B和类C都有类A的内容 (2)类D会继承B、C的所有内容,因此就会继承两份类A的所有内容 (3原创 2021-07-03 01:50:21 · 189 阅读 · 0 评论 -
C++类对象常见面试题(二)
一、单例模式的原理 1、禁止在类外创建对象:把构造函数私有化 2、确保类对象只有一份:在类中定义一个静态指针或类对象 3、提供一个获取类对象的接口:设计静态成员函数用于获取类对象 二、介绍懒汉模式和饿汉模式 饿汉模式的单例: 程序运行时就实例化出类对象,不管后期是否用得上,都已经创建完毕 优点:绝对不可能被多线程同时运行时创建多份 缺点:如果后期用不到,就浪费资源了 懒汉模式的单例: 程序直到真正使用类对象时才创建对象 优点:什么时候使用什么时候创建,如果不使用就不会被创建,节约资源 缺点:多个线程同时创建原创 2021-07-02 23:22:28 · 452 阅读 · 2 评论 -
C++变量函数使用常见面试题
1. malloc/free 与 new/delete 的区别? 身份:函数 运算符/关键字 返回值:void* 带类型的指针 参数:字符个数(手动) &n原创 2021-06-26 00:31:40 · 133 阅读 · 0 评论 -
C++类对象常见面试题(一)
1.对象的创建过程 a.给对象划分内存空间(栈、堆空间) b.执行初始化列表:根据继承表顺序来调用父类的无参构造,也可以调用父类的有参构造(:父类名(参数)) 根据成员的定义顺序来调用类类型成员的无参构造函数,也可以调用类类型的有参构造函数(:成员名(参数)) 初始化其他成员 c.执行自己的构造函数、申请资源 2、对象的销毁过程 a.执行自己的析构函数、释放资源 b.根据类类型成员的定义顺序,逆序调用类类型成员的析构函数 c.根据继承表的顺序,逆序调用父类的析构函数 d.释放对象的内存 3、什么是常函数 1原创 2021-06-28 11:20:24 · 350 阅读 · 0 评论