首页
精选
专栏
标签
归档
开源库
common_util
py_design_pattern
关于
我的简介
我的著作
我的公众号
留言板
暗黑模式
首页
精选
专栏
标签
归档
开源库
common_util
py_design_pattern
关于
我的简介
我的著作
我的公众号
留言板
暗黑模式
C++中类的多继承
1. 简单版本 2. 复杂版本 2.1. 菱形继承的模型 2.2. 多继承的类如何定义? 2.3. 如何解决菱形继承的重复对象问题? 2.3.1. 方法一:使用完全限定名 2.3.2. 方法二: 虚继承 3. 总结 在写这一主题的文章之前,在网上找到一篇很非常好的文章C++之继承与多态。就没有必要做重复造轮子的事件了,那就从这篇文章开始吧! 在c++中一个类可以从多个基类中派生(...
2024-10-22
C++高级编程
C++高级编程
Read More
C++类的三种访问权限与三种继承方式
三种访问权限我们知道C++中的类,有三种访问权限(也称作访问控制),它们分别是public、protected、private。要理解它们其实也很容易,看下面了一个例子。父类: 1234567891011121314151617181920212223242526272829303132333435363738394041424344// 基类(父类)class Person{pu...
2024-10-22
C++高级编程
C++高级编程
Read More
C 和 C++ struct 的区别
在 C 语言中 struct 是用户自定义数据类型;在 C++ 中 struct 是抽象数据类型,支持成员函数的定义。C++ 中的 class 可以实现 struct 的所有功能,C++ 为了兼容 C 语言保留了 struct 关键字。 C 语言中 struct 没有访问权限的设置,是一些变量的集合体,不能定义成员函数;C++ 中 struct 可以和类一样,有访问权限,并可以定义成员函数...
2024-07-27
C++高级编程
C++高级编程
Read More
C++ 11 nullptr 比 NULL 的优势比较
定义 NULL:预处理变量,是一个宏,它的值是 0,定义在头文件 中,即 #define NULL 0。 nullptr:C++ 11 中的关键字,是一种特殊类型的字面值,可以被转换成任意其他类型。 二者相比 nullptr 的优势 有类型,类型是 typdef decltype(nullptr) nullptr_t;,使用 nullptr 提高代码的健壮性。 函数重载:因为 NULL ...
2024-07-27
C++高级编程
C++高级编程
Read More
C++之迭代器
1. 什么是迭代器? 2. 如何使用迭代器 3. C++迭代器说明 4. 迭代器的高级应用 4.1. Enumerator.hpp 4.2. Iterator.cpp 4.3. 输出结果 4.4. 更多详细代码 1. 什么是迭代器?迭代器(Iterator)是按照一定的顺序对一个或多个容器中的元素从前往遍历的一种机制,比如for循环就是一种最简单的迭代器,对一个数组的遍历也是一种的迭...
2024-07-20
C++高级编程
C++高级编程
Read More
C++如何在main函数开始之前(或结束之后)执行一段逻辑?
1. 问题 2. 考察的要点 3. 解决策略 3.1. 方案一:使用GCC的拓展功能 3.2. 方案二:使用全局变量 3.3. 方案三:atexit 4. Demo测试 4.1. 测试代码 4.2. 执行结果 5. 程序异常退出场景 5.1. 存在的问题 5.2. 解决方案 5.2.1. 原理 5.2.2. 示例代码 5.2.3. 执行结果 5.2.4. 特殊说明 6. 参...
2024-06-14
C++高级编程
C++高级编程
Read More