随笔分类 -  C++深度解析

摘要:《C++深度解析》课程目录 第1课 - 学习 C++ 的意义 第2课 - C到C++的升级 第3课 - 进化后的const分析 第4课 - 布尔类型和引用 第5课 - 引用的本质分析 第6课 - 内联函数分析 第7课 - 函数参数的扩展 第8课 - 函数重载分析(上) 第9课 - 函数重载分析(下) 阅读全文
posted @ 2019-03-24 14:36 Hengs 阅读(1155) 评论(0) 推荐(0)
摘要:第32课 - 初探C++ 标准库 1. 有趣的重载 操作符 << 的原生意义是按位左移,例: 1 << 2 ; 其意义是将整数 1 按位左移 2 位,即: 0000 0001 -> 0000 0100 重载左移操作符,将变量或常量左移到一个对象中! 1 #include <stdio.h> 2 3 阅读全文
posted @ 2017-08-06 23:15 Hengs 阅读(299) 评论(0) 推荐(0)
摘要:第31课 - 完善的复数类 1. 阅读全文
posted @ 2017-08-06 21:24 Hengs 阅读(155) 评论(0) 推荐(0)
摘要:第30课 - 操作符重载的概念 1. 需要解决的问题 下面的复数解决方案是否可行? 不可行,+ 操作符只提供对C++ 基本数据类型的运算,不支持类的相加运算。 1 #include <stdio.h> 2 3 class Complex 4 { 5 int a; 6 int b; 7 public: 阅读全文
posted @ 2017-08-04 11:04 Hengs 阅读(314) 评论(0) 推荐(0)
摘要:第29课 - 类中的函数重载 阅读全文
posted @ 2017-08-03 21:22 Hengs 阅读(122) 评论(0) 推荐(0)
摘要:第28课 - 友元的尴尬能力 1. 什么是友元? (1)友元是C++ 中的一种关系 (2)友元关系发生在函数与类之间或者类与类之间 (3)友元关系是单向的,不能传递 2. 友元的用法 (1)在类中以 friend 关键字声明友元 (2)类的友元可以是其它类或者具体函数 (3)友元不是类的一部分 (4 阅读全文
posted @ 2017-08-02 11:43 Hengs 阅读(263) 评论(0) 推荐(0)
摘要:第27课 - 二阶构造模式 1. 关于构造函数 (1)类的构造函数用于对象的初始化 (2)构造函数与类同名并且没有返回值 (3)构造函数在对象定义时自动被调用 2. 关于构造函数的一些疑问? (1)如何判断构造函数的执行结果? ==> 在类中添加一个标志(bool),放在构造函数的末尾(判断函数体是 阅读全文
posted @ 2017-08-02 08:32 Hengs 阅读(293) 评论(0) 推荐(0)
摘要:第26课 - 类的静态成员函数 续上一篇博客:类的静态成员变量 ...... 1. 未完成的需求 (1)统计在程序运行期间某个类的对象数目 √ 已完成 (2)保证程序的安全性(不能使用全局变量) √ 已完成 (3)随时可以获取当前对象的数目 × 未完成 1 #include <stdio.h> 2 阅读全文
posted @ 2017-08-01 17:41 Hengs 阅读(262) 评论(0) 推荐(0)
摘要:第25课 - 类的静态成员变量 1. 成员变量的回顾 (1)通过对象名能够访问 public 成员变量 (2)每个对象的成员变量都是专属的,成员变量不能在对象之间共享 这么看,如果多个对象想操作同一个数据,从目前来看只能使用全局变量(每个对象都可以操作全局作用域的全局变量),但是这样存在安全隐患,在 阅读全文
posted @ 2017-08-01 15:36 Hengs 阅读(320) 评论(0) 推荐(0)
摘要:第24课 - 经典问题解析二 1. 顺丰到付的 阅读全文
posted @ 2017-08-01 13:48 Hengs 阅读(156) 评论(0) 推荐(0)
摘要:第23课 - 神秘的临时对象 1. 阅读全文
posted @ 2017-08-01 13:39 Hengs 阅读(187) 评论(0) 推荐(0)
摘要:第22课 - 对象的销毁 1. 阅读全文
posted @ 2017-08-01 13:35 Hengs 阅读(164) 评论(0) 推荐(0)
摘要:第21课 - 对象的构造顺序 0. 问题 C++ 中的类可以定义多个对象,那么对象构造的顺序是怎样的? 1. 对象的构造顺序 1.1 局部对象的构造顺序 当程序执行流到达对象的定义语句时进行构造 1.2 堆对象的构造顺序 当程序执行流到达 new 语句时创建对象 使用 new 创建对象将自动触发构造 阅读全文
posted @ 2017-07-26 13:20 Hengs 阅读(317) 评论(0) 推荐(0)
摘要:第20课 - 初始化列表的使用 0. 问题 类中是否可以定义 const 成员? 下面的类定义是否合法?如果合法,ci 的值是什么,存储在哪里? 1 #include <stdio.h> 2 3 class Test 4 { 5 private: 6 const int ci; 7 public: 阅读全文
posted @ 2017-07-25 16:55 Hengs 阅读(290) 评论(0) 推荐(0)
摘要:第19课 - 对象的构造(下) 1. 特殊的构造函数 (1)无参构造函数 当类中没有定义构造函数时,编译器默认提供一个无参构造函数,并且其函数体为空。 (2)拷贝构造函数 当类中没有定义拷贝构造函数时,编译器默认提供一个拷贝构造函数,简单的进行成员变量的值复制。 1 #include <stdio. 阅读全文
posted @ 2017-07-24 23:09 Hengs 阅读(236) 评论(0) 推荐(0)
摘要:第18课 - 对象的构造(中) 1. 构造函数详解 函数头的三大元素:int func(para1, para2, ...) 返回值类型、函数名、参数。构造函数的返回值类型(无)、函数名(类名)都已确定,那参数能不能由程序员自定义呢? 1.1 带有参数的构造函数 (1)构造函数可以根据需要定义参数, 阅读全文
posted @ 2017-07-24 14:39 Hengs 阅读(192) 评论(0) 推荐(0)
摘要:第17课 - 对象的构造(上) 0. 问题 对象中成员变量的初始值是什么? 下面的类定义中,成员变量 i 和 j 的初始值是什么? 对象定义在 全局空间、栈上、堆上,具有不同的属性。 1 #include <stdio.h> 2 3 class Test 4 { 5 private: 6 int i 阅读全文
posted @ 2017-07-23 22:50 Hengs 阅读(253) 评论(0) 推荐(0)
摘要:第16课 - 类的真正形态 1. 类的关键字 (1)struct 在C 语言中已经有了自己的含义,必须继续兼容 (2)在C++ 中提供了新的关键字 class 用于类定义 (3)class 和struct 的用法完全相同。但C++ 中用struct 定义的类中所有成员默认访问级别为public,而c 阅读全文
posted @ 2017-07-23 20:45 Hengs 阅读(211) 评论(0) 推荐(0)
摘要:第15课 - 类与封装的概念 阅读全文
posted @ 2017-07-23 20:24 Hengs 阅读(182) 评论(0) 推荐(0)
摘要:第14课 - 进阶面向对象(下) 1. 类之间的基本关系 (1)继承 ① 从已存在类细分出来的类和原类之间具有继承关系(is-a) ② 继承的类(子类)拥有原类(父类)的所有属性和行为 (2)组合 ① 一些类的存在必须依赖于其它的类,这种关系叫组合 ② 组合的类在某一个局部上由其它的类组成 2. 类 阅读全文
posted @ 2017-07-14 17:13 Hengs 阅读(206) 评论(0) 推荐(0)