
C++基础
三桂sg
1558920055ded5427d27fe99678aeae86f299
https://blog.youkuaiyun.com/weixin_43692030
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++基础1:类与对象基础
1.类与对象 概念 比喻 对象/实例 楼房 实例化 建造 类 建筑图纸 面向对象四大特征 特征 说明 类比 抽象 抽出具体事物的普遍性的本质 分门别类:鸟类、哺乳类、鱼类 封装 把数据与处理(函数)包在一起 通信录(增加、删除) 继承 数据与处理(函数)的传承 财富与绝技、混血儿(肤色/头发、 两种语言 多态 同一个事物(函数)的多种形态 手...原创 2019-07-18 22:42:25 · 6550 阅读 · 0 评论 -
C++虚继承与虚基类
虚继承与虚基类多重继承虚继承菱形继承 多重继承 一个类可以同时继承多个父类的行为和特征功能。 class 类名 : public 基类1,public 基类2{ }; //逗号分割 基类列表 虚继承 虚继承:在继承定义中包含了virtual关键字的继承关系; 虚基类:在虚继承体系中的通过virtual继承而来的基类; class Derive:public virtual Base{}; ...原创 2019-08-12 15:08:28 · 281 阅读 · 0 评论 -
C++引用与指针的区别
指针和引用的区别1.指针指向一块内存,它的内容是所指内存的地址;引用是某块内存的别名。2.引用只能在定义时被初始化一次,之后不可变;指针可变;3.引用不能为空,指针可以为空;4.引用使用时无需解引用*,指针需要解引用;5. sizeof 引用得到的是所指向的变量/对象的大小,而sizeof 指针得到的是指针本身的大小; 1.指针指向一块内存,它的内容是所指内存的地址;引用是某块内存的别名。 2.引...原创 2019-08-12 11:55:43 · 187 阅读 · 0 评论 -
C++中必须用初始化列表的四种情况
初始化列表1. 类成员为const类型2 . 类成员为引用类型3.没有默认构造函数的类类型4. 如果类存在继承关系,派生类必须在其初始化列表中调用基类的构造函数 1. 类成员为const类型 2 . 类成员为引用类型 1.常量成员,因为常量只能初始化不能赋值,所以必须放在初始化列表里面。 2.引用类型,引用必须在定义的时候初始化,并且不能重新赋值,所以也要写在初始化列表里面 #include<...转载 2019-08-12 11:50:04 · 7096 阅读 · 2 评论 -
C++STL容器:map
1. 简介 map是key-value构成的集合。 2. 操作 map是键值对<key,value>构据集合。key必须唯一。 主要用来查找key对应value,要求key必须是可排序的,必须支持<比较运算符。 map默认是以key升序存放键值对<key,value>数据,比较适合二分查找。 2.1 初始化 默认构造(可带参数) 复制构造 范围赋值构造 初始化时必须...原创 2019-07-31 10:39:04 · 793 阅读 · 0 评论 -
C++STL容器:set
1.set简介 set集 合容器:实现了红黑树的平衡二叉检索树的数据结构,插入元素时,它会自动调整二叉树的排列,把元素放到适当的位置,以保证每个子树根节点键值大于左子树所有节点的键值,小于右子树所有节点的键值;另外,还得保证根节点左子树的高度与右子树高度相等。 平衡二叉检索树使用中序遍历算法,检索效率高于vector、deque和list等容器,另外使用中序遍历可将键值按照从小到大遍历出来。 构造...原创 2019-07-31 10:10:01 · 184 阅读 · 0 评论 -
C++基础3.2:继承
1.语法 原则:is-a 父类/子类 基类/派生类 class 派生类 : [访问限定符] 基类 { 成员 } //如果不写继承访问限定符,默认是private 2. 成员的访问权限 public protected private 类成员函数 √ √ √ 友元函数 √ √ √ 子类函数 √ √ × 类对象 √ × × 3.子类内部访问父类的权限 ...原创 2019-07-29 18:05:47 · 125 阅读 · 0 评论 -
C++基础3:拷贝(复制)构造函数
使用类创建对象时,构造函数被自动调用以完成对象的初始化,那么能否象简单变量的初始化一样,直接用一个对象来初始化另一个对象呢? 答案是可以: Student s1; Student s2=s1; 像这种语句在语法上是合法的。 初始化s2,相当于将s1中每个数据成员的值复制到s2中,这是表面现象。实际上,系统调用了一个复制构造函数。如果类定义中没有显式定义该复制构造函数时,编译器会隐式定义一个缺省的...原创 2019-07-19 18:28:49 · 378 阅读 · 0 评论 -
C++限定符:
一、const No. 类型 语法 作用 1 const指针 类型* const 变量 = 初始值; 指针指向地址不能改变 2 指向const对象的指针 const 类型* 变量 = 初始值; 类型 const* 变量 = 初始值; 指针指向对象不能改变 3 指向const对象的const指针 const 类型* const 变量 = 初始值; 指针指向地址和对象不能改变 ...原创 2019-07-29 12:44:29 · 1238 阅读 · 0 评论 -
C/C++:常量指针和指针常量
转载地址:https://www.cnblogs.com/FlyGee/p/7424852.html 一、常量指针 常量指针本质是指针,常量修饰它,表示这个指针乃是一个指向常量的指针(变量)。 指针指向的对象是常量,那么这个对象不能被更改。 在C/C++中,常量指针是这样声明的: 1)const int *p; 2)int const *p; 使用常量指针时要注意,指针指向的对象不能通过这个指针来...转载 2019-07-29 11:52:30 · 239 阅读 · 0 评论 -
C++基础3.1:拷贝构造函数与赋值运算符重载实例
这次代码的内容是通过模拟C++的string类,来数字拷贝构造函数和赋值运算符重载 #include <iostream> #include <cstring> using namespace std; // char str[20]; // 缺点1:字符串大于数组大小放不下。 // 缺点2:字符串远小于数组大小就会空间浪费。 // char*与动态分配内存结合的方式...原创 2019-07-29 11:16:10 · 224 阅读 · 0 评论 -
C++基础2:构造函数与析构函数
1构造函数 1.1语法 类名(参数){ 函数体 } 1.2特点 1.在对象被创建时自动执行 2.构造函数的函数名与类名相同 3.没有返回值类型、也没有返回值 4.可以有多个构造函数 1.3调用时机 对象直接定义创建–构造函数不能被显式调用 new动态创建 1.4默认构造参数 类中没有显式的定义任何构造函数,编译器就会自动为该类型生成默认构造函数,默认构造函数没有参数 1.5构造函数的三个作用 ...原创 2019-07-18 23:01:47 · 199 阅读 · 0 评论 -
C++基础4:多态
多态1.多态概念:2.早绑定与晚绑定3.虚函数定义的规则4.纯虚函数5.重载和覆盖的区别6.判断是否覆盖 1.多态概念: 多态:不同类型对象调用相同接口完成不同的行为。 根据对象的实际类型不同,可以自动完成不同的行为,而仅仅通过一致的调用形式。 2.早绑定与晚绑定 实现:C++多态性主要是通过虚函数实现的,虚函数允许子类重写override(注意和overload的区别,overload是重载,是...原创 2019-08-12 15:54:41 · 273 阅读 · 0 评论