![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++学习笔记
文章平均质量分 81
qq_36521904
这个作者很懒,什么都没留下…
展开
-
第27课 - 动态类型识别
第27课 - 动态类型识别 一.动态类型 1.1 由于基类指针可以直接指向派生类对象,因此可能存在指针所指类型与具体指向对象类型不同的情况 Parent* p = new Child(); 1.2 动态类型指的是基类指针所指向对象的实际类型 void test(Parent* p) { ...原创 2018-05-29 17:26:24 · 1285 阅读 · 0 评论 -
第13课 - 操作符重载(=,[], (), ->, ++,&&, ||) - 下
第13课 - 操作符重载 - 下 一.类的成员函数作为操作符重载函数 Source Example 1: #include <iostream> using namespace std; class Complex { int a; int b; ...原创 2018-05-16 21:15:47 · 246 阅读 · 0 评论 -
第7课 - 面向对象基本概念
第7课 - 面向对象基本概念 一.基本概念 1.1类和对象是面向对象中的两个基本概念 “类"指的是一类食物,是一个抽象概念 “对象”指的属于某个类的一个实体,是一个具体存在的事物 类是一种"模板",可以通过这种模板创建出不同对象的"实例" ...原创 2018-05-15 23:18:20 · 340 阅读 · 0 评论 -
第12课 - 操作符重载 - 上
第12课 - 操作符重载 - 上 一.使用C++标准库 1.1 C++标准库并不是C++语言的一部分 1.2 C++标准库是由C++语言编写而成的类库和函数的集合 1.3 C++标准库中定义的类和对象都位于std命名空间中 1.4 C++标准库的头文件都不带.h后缀 1.5 C++标准库涵盖了C库的功能 ...原创 2018-05-15 23:13:58 · 143 阅读 · 0 评论 -
第11课 - 类的静态成员
第11课 - 类的静态成员 一.类的普通成员的回顾 1.1 通过对象名能够访问public成员变量 1.2 每个对象都可以有只属于自己的成员变量 1.3 成员对象不能在对象之间共享 ...原创 2018-05-15 23:08:01 · 321 阅读 · 0 评论 -
第10课 - 析构函数
第10课 - 析构函数 一.对象组合 1.1 初始化问题 Source Example 1.1: #include <iostream> /* run this program using the console pauser or add your own getch, system("pau...原创 2018-05-15 22:58:46 · 141 阅读 · 0 评论 -
第9课 - 构造函数
第9课 - 构造函数 一.对象的初始化 1.1 对每个类都提供一个public的initialize函数 对象创建后立即调用initialize函数进行初始化 Source Example 1.1: #include <iostream> /* run this p...原创 2018-05-15 22:50:19 · 160 阅读 · 0 评论 -
第6课 - 专题一经典问题解析(const与引用/指针与引用)
第6课 - 专题一经典问题解析 一. const和引用的疑惑 Source Example 1.1: #include <iostream> /* run this program using the console pauser or add your own getch, system("pause") or i...原创 2018-05-14 18:55:09 · 161 阅读 · 0 评论 -
第5课 - C++新的关键字(类型转换/new/命名空间)
第5课 - 新的关键字 一.动态内存分配和释放(C语言是通过标准C库里面的malloc,free函数分配,不只属于C语言) 1.1 C++中通过new关键字进行动态内存申请 1.2 C++中的动态内存申请时基于类型进行的 1.3 delete关键字用于内存释放 变量申请: Type* pointer...原创 2018-05-14 18:36:24 · 173 阅读 · 0 评论 -
第14课 - 专题二经典问题解析(手动调用构造函数/函数对象(重载()操作符))
第14课 - 专题二经典问题解析 一.malloc与free和new与delete有什么区别? (函数) (关键字) 1.1 new在申请的时候可以直接初始化 Source Example 1.1: #include <iostream> #include <stdio.h>...原创 2018-05-16 21:21:12 · 148 阅读 · 0 评论 -
第15课 - 惊艳的继承
第15课 - 惊艳的继承 一.继承的概念 1.1 面向对象中继承指类之间的父子关系 1.1.1 子类拥有父类的所有成员变量和成员函数 1.1.2 子类就是一种特殊的父类 1.1.3 子类对象可以当作父类对象使用 1.1.4 子类可以拥有父类没有的行为和属性 二.继承初体验 ...原创 2018-05-24 21:30:01 · 207 阅读 · 0 评论 -
第16课 - 继承中的构造与析构
第16课 - 继承中的构造与析构 一.赋值兼容性原则 1.1 子类对象可以当作父类对象使用 1.2 子类对象可以直接赋值给父类对象 1.3 子类对象可以直接初始化父类对象 1.4 父类指针可以直接指向子类对象 1.5 父类引用可以直接引用子类对象 Source Example1: #include ...原创 2018-05-28 17:40:43 · 115 阅读 · 0 评论 -
第26课 - 异常处理 - 下
第26课 - 异常处理 - 下 一.深入异常处理 问题:有时在工程中只关心是否产生了异常,而不关心具体异常的类型,C++语言可以做到吗? 1.1 C++中的catch语句可以使用...捕获所有的异常 ...作参数表示可变参数函数,可以接受任意参数 Source Example 1.1: ...原创 2018-05-29 17:26:16 · 377 阅读 · 0 评论 -
第25课 - 异常处理
第25课 - 异常处理 一.异常处理初探 1.1 所有的代码都有可能不按照预定义的方式运行 a.典型问题一: Source Example 1.1: #include <iostream> /* run this program using the con...原创 2018-05-29 17:26:07 · 221 阅读 · 0 评论 -
第24课 - 专题四经典问题解析
第24课 - 专题四经典问题解析 一.历史的痕迹 Source Example 1.1: #include <iostream> using namespace std; template<class T> T Minus(T a, T b) { ...原创 2018-05-28 20:13:36 · 152 阅读 · 0 评论 -
第23课 - STL简介
第23课 - STL简介 一.什么是STL(标准模板库)? 1.1 STL,即Standard Template Library,是C++的一部分 1.2 STL是常用数据结构和算法的集合 1.3 STL的目标是标准化组件,提高开发效率和程序可靠性 二.STL库作为C++的一部分与编译器一同被发布 2.1 STL主要由以下...原创 2018-05-28 20:08:11 · 168 阅读 · 0 评论 -
第22课 - 类模板 - 下
第22课 - 类模板 - 下 一.类模板的局部特化 1.1 类模板可以定义多个类型参数 Source Example 1.1: #include <iostream> /* run this program using the console pauser or add you...原创 2018-05-28 20:03:57 · 126 阅读 · 0 评论 -
第21课 - 类模板 - 上
第21课 - 类模板 - 上 一.类模板的引入 1.1. 一些类主要用于存储和组织数据元素 如:数组类,链表类,Stack类,Queue类等等 C++中可以将模板的思想应用于类,使得类的可以不关注具体所操作的数据类型,而只关注类所需要实现的功能。 1.2 C++中的类模板 ...原创 2018-05-28 19:50:38 · 126 阅读 · 0 评论 -
第20课 - 函数模板
第20课 - 函数模板 一.C++中如何交换两个变量的值 void swap(int& a, int& b) { int t = a; a = b; b = t; } void swap(float& a, float...原创 2018-05-28 19:40:49 · 199 阅读 · 0 评论 -
第18课 - 多态与继承(多态实现原理/抽象类/纯虚函数) - 下
第18课 - 多态与继承 - 下 一. 重载和重写 Source Example 1: #include <iostream> /* run this program using the console pauser or add your own getch, system("pause") or input lo...原创 2018-05-28 19:21:23 · 140 阅读 · 0 评论 -
第19课 - 专题三经典问题解析(多重继承/多态与数组)
第19课 - 专题三经典问题解析 一.当多态遇见对象数组会发生什么? 1.1 指针的运算时通过指针的类型进行的,在编译时进行的 1.2 多态通过虚函数表实现的,在程序运行时进行的 Source Example 1: #include <iostream> /* run this program us...原创 2018-05-28 19:26:26 · 191 阅读 · 0 评论 -
第17课 - 继承与多态(函数重写/虚函数) - 上
第17课 - 继承与多态 - 上_P 一.函数重写(只发生在父类与子类之间) 问题:如果子类定义了与父类原型相同的函数会发生什么? 1.1 函数重写的定义 1.1.1 在子类中定义与父类中原型相同的函数 1.1.2 函数重写只发生在父类与子类之间 1.2 函数重写的特点 ...原创 2018-05-28 17:46:18 · 171 阅读 · 0 评论 -
第3课 - 函数的升级(内联函数,默认参数,占位参数) - 上
第3课 - 函数的升级 - 上 一.内联函数的使用 1.C++推荐使用内联函数替代宏代码片段 2.C++使用关键字inline关键字声明内联函数 注意:inline关键字必须放在函数定义的地方,不能放在函数声明的地方,否则编译器会直接忽略内联请求 inline int func (int a, int b) {...原创 2018-05-13 22:03:56 · 386 阅读 · 0 评论 -
第2课 - C++中的引用
一、C到C++的升级 1.bool类型 a.C用int来实现1,0 b.C++在C语言的基本类型系统上增加了bool类型(只占用一个字节),只有true,false(关键字) 多个bool类型的变量定义在一起可能占同一个字节里面的不同的bit 编译器会非0值转化为true,0值转换为false。 2.三目运算符的升...原创 2018-05-12 18:56:28 · 154 阅读 · 0 评论 -
第1课 - C到C++的升级(const/bool/struct/三目运算符)
一.变量声明的加强 a.C必须要在函数的开头声明变量。 b.C++可以在使用的时候再对变量进行声明 二.C++不允许定义相同名字的全局变量 a.C可以定义相同名字的全局变量,但是只会分配一个存储空间。 b.C++避免这种情况,不允许定义相同名字的全局变量。 三.const为真正的常量 a.C中const为只读...原创 2018-05-12 16:40:29 · 239 阅读 · 0 评论