C++深度解析【笔记】
文章平均质量分 81
该系列内容为狄泰软件学院唐老师课程笔记,记录下来以备自己随时查阅
洋葱汪
大一下学期啦,学的东西越来越多,觉得有必要做些笔记
-2018-3-15
展开
-
自定义C++内存管理
目录1、关于动态内存分配2、new / delete的重载3、重载new[] / delete[]4、动态内存申请的结果1、动态内存申请的结果2、跨编译器统一new的行为5、小结1、关于动态内存分配new关键字与malloc函数的区别 - new关键字是C++的—部分,malloc是由C库提供的函数 - new以具体类型为...原创 2018-04-09 20:04:34 · 467 阅读 · 0 评论 -
C++ 中的异常处理
目录1、C++异常处理2、异常的重新解释3、类类型的异常4、标准库中的异常5、函数异常声明6、小结1、C++异常处理C++内置了异常处理的语法元素try… catch… -try语句处理正常代码逻辑 ,catch语句处理异常情况 -try语句中的异常由对应的catch语句处理C++通过throw语句抛出异常信息 ,thr...原创 2018-04-07 21:24:22 · 640 阅读 · 1 评论 -
深入理解函数模板和类模板
目录1、函数模板的概念和意义1、函数与宏2、函数模板3、有趣的面试题4、函数模板的本质5、多参数函数模板6、重载函数模板7、小结2、类模板的概念和意义1、C++中的类模板2、多参数类模板3、小结3、继承模板类访问基类成员4、typename与class1、函数模板的概念和意义1、函数与宏定义宏代码块 -优点:代...原创 2018-04-04 20:31:11 · 607 阅读 · 0 评论 -
被遗弃的多重继承
目录1、C++中的多重继承2、多重继承问题一3、多重继承的问题二4、多重继承的问题三5、正确的使用多重继承6、小结1、C++中的多重继承C++支持编写多重继承的代码 -一个子类可以拥有多个父类 -子类拥有所有父类的成员变量 -子类继承所有父类的成员函数 -子类对象可以当作任意父类对象使用 ☛ 多重继承的本质与单...原创 2018-04-02 21:13:06 · 247 阅读 · 0 评论 -
C++ 对象模型分析
目录1、对象的本质2、继承对象模型3、多态对象模型4、C实现C++的封装,继承,多态特性5、补充说明1、对象的本质class是—种特殊的struct -在内存中class依旧可以看作变量的集合 -class与struct遵循相同的内存对齐规则 -class中的成员函数与成员变量是分开存放的 ☛ 每个对象有独立的成员...原创 2018-04-02 17:51:50 · 270 阅读 · 0 评论 -
同名覆盖,函数重写,赋值兼容,多态、动态类型识别
目录1、同名覆盖与函数重写2、父子间的赋值兼容3、当函数重写遇上赋值兼容4、多态的概念和意义1、多态的概念与意义2、静态联编与动态联编5、构造函数、析构函数与虚函数6、小结1、同名覆盖与函数重写子类可以定义父类中的同名成员 (成员变量、成员函数)子类中的成员将隐藏父类中的同名成员父类中的同名成员依然存在于子类中通过作用域分辨符访问父类中的同...原创 2018-04-01 13:53:22 · 778 阅读 · 0 评论 -
继承概念,继承访问级别,继承方式
目录1、继承的概念与意义2、继承中的访问级别1、问题2、继承中的访问级别3、组合与继承的综合实例3、不同的继承方式4、小结1、继承的概念与意义类之间的关联关系 -组合关系:整体与部分的关系; -继承关系:父子关系组合关系的特点 -将其它类的对象作为当前类的成员使用 -当前类的对象与成员对象的生命期相...原创 2018-03-31 19:13:37 · 443 阅读 · 0 评论 -
转换构造函数与类型转换函数
目录1、转换构造函数2、类型转换函数3、小结1、转换构造函数标准数据类型之间会进行隐式的类型安全转换转换规则如下:实例分析#include<iostream>usingnamespacestd;intmain(){shorts='a';...原创 2018-03-31 10:21:04 · 955 阅读 · 0 评论 -
重载逻辑操作符,逗号操作符,前置++操作符和后置++操作符
目录1、重载逻辑操作符1、原生逻辑操作符2、重载逻辑操作符2、重载逗号操作符1、原生逗号操作符2、重载逗号操作符3、重载前置++操作符和后置++操作符1、值得思考的问题2、++操作符重载4、小结1、重载逻辑操作符1、原生逻辑操作符逻辑运算符的原生语义 -操作数只有两种值(true和false) -逻辑表达式不用完全计算就能...原创 2018-03-30 20:56:49 · 515 阅读 · 0 评论 -
智能指针分析
本节讲解了智能指针的引入,stl、qt中的智能指针,创建智能指针模板类1、永恒的话题内存泄漏(臭名昭著的Bug)- 动态申请堆空间,用完后不归还- C++语言中没有垃圾回收的机制- 指针无法控制所指堆空间的生命周期2、编程实验内存泄漏 37-1.cpp#...原创 2018-03-30 20:24:36 · 489 阅读 · 0 评论 -
C/C++ 文件 IO
1、有趣的重载操作符 << 的原生意义是按位左移,例:1 << 2 ;其意义是将整数1按位左移2位,即:0000 0001 → 0000 0100重载左移操作符,将变量或常量左移到—个对象中!编程实验重载左移操作符 test.cpp#include<stdio.h>constcharen...原创 2018-03-28 18:19:02 · 392 阅读 · 0 评论 -
操作符重载(复数类、数组类、函数对象)
1、需要解决的问题下面的复数解决方案是否可行?2、编程实验复数的加法操作 30-1.cpp#include<stdio.h>classComplex{inta;intb;public:Complex(inta=0,intb=0){...原创 2018-03-28 17:41:45 · 295 阅读 · 0 评论 -
异常的构造函数、二阶构造模式
关于构造函数 -类的构造函数用于对象的初始化 -构造函数与类同名并且没有返回值 -构造函数在对象定义时自动被调用1、异常的构造函数2、半成品对象面试题 1 1. 如何判断构造函数的执行结果? 2. 在构造函数中执行return语句会发生什么? 3. 构造函数执行结束是否意味着对象构造成功? ①没...原创 2018-03-28 16:21:22 · 428 阅读 · 0 评论 -
类的静态成员变量、静态成员函数
类的静态成员变量1、类成员的回顾从面向对象的角度- 对象由属性(成员变量)和方法(成员函数)构成从程序运行的角度- 对象由数据和函数构成数据可以位于栈,堆和全局数据区函...原创 2018-03-26 17:49:29 · 377 阅读 · 1 评论 -
C++对象的构造和销毁
目录1、对象的构造1、成员变量的初始值2、对象的初始化3、构造函数4、带有参数的构造函数5、数组类的实现6、两个特殊的构造函数7、数组类的改进8、初始化列表的使用9、小结2、对象的销毁1、对象的清理2、析构函数3、数组类的进化4、构造与析构的调用顺序3、继承中的构造与析构1、子类对象的构造2、子类对象的析构4、补充...原创 2018-03-24 16:39:43 · 1058 阅读 · 0 评论 -
布尔类型、三目运算符、引用、新型类型转换、友元
目录1、布尔类型2、三目运算符3、C++中的引用1、初探引用2、const引用3、引用的本质4、函数返回引用5、C++不支持引用数组6、疑难解答4、小结1、布尔类型C++中的布尔类型 - C++在C语言的基本类型系统之上增加了bool - C++中的bool可取的值只有true和false - 理论上boo...原创 2018-03-21 21:57:26 · 778 阅读 · 0 评论 -
C/C++中的const分析
目录C语言中的const1、const只读变量2、const全局变量的分歧3、编程实验4、const修饰函数参数和返回值5、小结C++中的const1、C++对const的升级2、C++中的const3、const常量的判别准则4、小结mutable关键字1、笔试题2、遗失的关键字3、编程实验C语言中的const1、co...原创 2018-03-20 23:04:18 · 431 阅读 · 0 评论 -
C 到 C++ 的升级
C 到 C++ 的升级目录C 到 C++ 的升级1、C与C++的关系2、register关键字的加强3、全局变量的加强4、类型加强5、内联函数6、函数参数的扩展7、C++中的命名空间 (namespace)8、C++中的函数重载9、C/C++代码相互调用10、小结1、C与C++的关系C++继承了所有的C特性...原创 2018-03-19 10:09:20 · 422 阅读 · 0 评论