frankfan的胡思乱想

学海无涯,回头是岸

2021年12月28日

结构体与类

摘要: 类 类与结构体 类与封装 本章讲授的主要内容是C++中的类的定义以及与结构体的对比。 C++是C语言的超集,是对C语言的完全兼容。 C语言是一门面向过程的语言,而C则是多范式语言,而面向对象是其基本范式。在C语言中,使用结构体来模拟面向对象编程的思想,因此在C中,对结构体struct这个关键字做了语 阅读全文

posted @ 2021-12-28 00:34 shadow_fan 阅读(73) 评论(0) 推荐(0) 编辑

析构函数

摘要: 构造函数/析构函数 this指针 new/delete 本章讲授的主要内容是C++类的构造,其中牵涉到的概念有类的构造函数与析构函数,this指针与new、delete关键字。 构造函数/析构函数 在所有面向对象的语言中,为了方便管理对象的生命周期,会在对象生成时与对象销毁时调用两个特殊的函数,构造 阅读全文

posted @ 2021-12-28 00:33 shadow_fan 阅读(151) 评论(0) 推荐(0) 编辑

拷贝构造的应用

摘要: 拷贝构造 自定义字符串类 拷贝构造 C++中创建对象的方式处理直接定义在栈中ClassType obj也可以定义在堆中ClassType *obj = new ClassType 而无论是哪种方式,都是通过默认构造函数(或者自定义构造函数)创建的。 此外,C还支持通过另一个C对象创建一个新的C++对 阅读全文

posted @ 2021-12-28 00:28 shadow_fan 阅读(39) 评论(0) 推荐(0) 编辑

成员

摘要: 常成员函数 初始化列表 静态成员 常成员函数 在C++中,被const关键词修饰的对象只能在初始化时赋值,此后不能被修改。并且,对象的成员也不能被修改; #include <iostream> using namespace std; class Node{ public: int value; } 阅读全文

posted @ 2021-12-28 00:27 shadow_fan 阅读(277) 评论(0) 推荐(0) 编辑

构造函数

摘要: 普通构造 拷贝构造 隐式构造 构造函数 无论是普通的默认构造还是自定义参数构造函数,或者拷贝构造函数,都可以认为是对象创建完成后提供给用户的一个hook point. 给用户一个初始化对象成员的一个入口点,通常默认情况下编译器并不会自动实现默认构造函数,除非有成员变量的访问或者赋值等相关操作,而一旦 阅读全文

posted @ 2021-12-28 00:27 shadow_fan 阅读(158) 评论(0) 推荐(0) 编辑

友元和引用

摘要: 友元 引用计数 C++提供完整的面向对象支持,提供体系完善的构造函数与析构函数,对成员也提供相应的访问权限关键字(protect public private)。 在面向对象中,总是倾向于将成员变量设计成private 将成员函数设计成public ,不过这样设计的一个缺点在于当类用在全局函数时,全 阅读全文

posted @ 2021-12-28 00:26 shadow_fan 阅读(72) 评论(0) 推荐(0) 编辑

继承

摘要: 继承 本章讲授的主要内容是C++中的继承 分别从应用场景、语法、内存结构等方面进行阐述。 继承是面向对象的三大特性之一(封装、继承、多态),继承更多的是先有其设计模式后有其语法支持,在设计模式的角度,与继承通常被一起讨论的是组合 。 C++中继承的场景 面向对象中封装的目的是提高代码的复用度,封装是 阅读全文

posted @ 2021-12-28 00:24 shadow_fan 阅读(36) 评论(0) 推荐(0) 编辑

c++面向对象基本

摘要: 默认构造 抽象类 多继承 本章讲授的主要内容依然围绕C++中的面向对象世界观的构建,其中牵涉到构造函数、抽象类与多重继承的概念。 默认构造 编译器生成的构造函数,被称为默认构造函数,该构造函数不带参数。 C++中类的构造分为不带参的构造函数与带参构造函数,带参构造函数需要用户自己定义并实现,而不带参 阅读全文

posted @ 2021-12-28 00:23 shadow_fan 阅读(23) 评论(0) 推荐(0) 编辑

C++类的各种内存结构

摘要: 名词阐释 C++类的各种内存结构 关于一些C++中基础名词概念的厘清,如函数重载 函数重写 函数覆盖(隐藏) 以及C++类的相关内存结构在不同条件下的异同。 函数重载 函数重载是C++一个显著区别与C的语言特性。 这一特性的显著表现就是支持定义同名函数,只要函数的参数列表不同(或者成员函数否被con 阅读全文

posted @ 2021-12-28 00:21 shadow_fan 阅读(797) 评论(0) 推荐(0) 编辑

运算符重载

摘要: 运算符重载 运算符重载的主要目的是为了更加简洁的书写代码,C语言语法繁复,形式复杂多样,从源码的角度上看异常复杂。C还支持模板编程,这样一来源码显得更加复杂了,因此,C++也支持将常见的运算符进行重载,简化形式。 并非所有运算符都支持重载,如点. 就不支持,此外还有其他,无需记住,编译器会提示。 运 阅读全文

posted @ 2021-12-28 00:20 shadow_fan 阅读(164) 评论(0) 推荐(0) 编辑

导航