C++基础
三桂sg
1558920055ded5427d27fe99678aeae86f299
https://blog.csdn.net/weixin_43692030
展开
-
C++基础1:类与对象基础
1.类与对象概念比喻对象/实例楼房实例化建造类建筑图纸面向对象四大特征特征说明类比抽象抽出具体事物的普遍性的本质分门别类:鸟类、哺乳类、鱼类封装把数据与处理(函数)包在一起通信录(增加、删除)继承数据与处理(函数)的传承财富与绝技、混血儿(肤色/头发、 两种语言多态同一个事物(函数)的多种形态手...原创 2019-07-18 22:42:25 · 6494 阅读 · 0 评论 -
C++虚继承与虚基类
虚继承与虚基类多重继承虚继承菱形继承多重继承一个类可以同时继承多个父类的行为和特征功能。class 类名 : public 基类1,public 基类2{};//逗号分割 基类列表虚继承虚继承:在继承定义中包含了virtual关键字的继承关系;虚基类:在虚继承体系中的通过virtual继承而来的基类;class Derive:public virtual Base{}; ...原创 2019-08-12 15:08:28 · 262 阅读 · 0 评论 -
C++引用与指针的区别
指针和引用的区别1.指针指向一块内存,它的内容是所指内存的地址;引用是某块内存的别名。2.引用只能在定义时被初始化一次,之后不可变;指针可变;3.引用不能为空,指针可以为空;4.引用使用时无需解引用*,指针需要解引用;5. sizeof 引用得到的是所指向的变量/对象的大小,而sizeof 指针得到的是指针本身的大小;1.指针指向一块内存,它的内容是所指内存的地址;引用是某块内存的别名。2.引...原创 2019-08-12 11:55:43 · 176 阅读 · 0 评论 -
C++中必须用初始化列表的四种情况
初始化列表1. 类成员为const类型2 . 类成员为引用类型3.没有默认构造函数的类类型4. 如果类存在继承关系,派生类必须在其初始化列表中调用基类的构造函数1. 类成员为const类型2 . 类成员为引用类型1.常量成员,因为常量只能初始化不能赋值,所以必须放在初始化列表里面。2.引用类型,引用必须在定义的时候初始化,并且不能重新赋值,所以也要写在初始化列表里面#include<...转载 2019-08-12 11:50:04 · 6668 阅读 · 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 · 731 阅读 · 0 评论 -
C++STL容器:set
1.set简介set集 合容器:实现了红黑树的平衡二叉检索树的数据结构,插入元素时,它会自动调整二叉树的排列,把元素放到适当的位置,以保证每个子树根节点键值大于左子树所有节点的键值,小于右子树所有节点的键值;另外,还得保证根节点左子树的高度与右子树高度相等。平衡二叉检索树使用中序遍历算法,检索效率高于vector、deque和list等容器,另外使用中序遍历可将键值按照从小到大遍历出来。构造...原创 2019-07-31 10:10:01 · 164 阅读 · 0 评论 -
C++基础3.2:继承
1.语法原则:is-a父类/子类基类/派生类class 派生类 : [访问限定符] 基类 { 成员}//如果不写继承访问限定符,默认是private2. 成员的访问权限publicprotectedprivate类成员函数√√√友元函数√√√子类函数√√×类对象√××3.子类内部访问父类的权限...原创 2019-07-29 18:05:47 · 112 阅读 · 0 评论 -
C++基础3:拷贝(复制)构造函数
使用类创建对象时,构造函数被自动调用以完成对象的初始化,那么能否象简单变量的初始化一样,直接用一个对象来初始化另一个对象呢?答案是可以:Student s1;Student s2=s1;像这种语句在语法上是合法的。初始化s2,相当于将s1中每个数据成员的值复制到s2中,这是表面现象。实际上,系统调用了一个复制构造函数。如果类定义中没有显式定义该复制构造函数时,编译器会隐式定义一个缺省的...原创 2019-07-19 18:28:49 · 348 阅读 · 0 评论 -
C++限定符:
一、constNo.类型语法作用1const指针类型* const 变量 = 初始值;指针指向地址不能改变2指向const对象的指针const 类型* 变量 = 初始值; 类型 const* 变量 = 初始值;指针指向对象不能改变3指向const对象的const指针const 类型* const 变量 = 初始值;指针指向地址和对象不能改变...原创 2019-07-29 12:44:29 · 1180 阅读 · 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 · 196 阅读 · 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 · 203 阅读 · 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 · 171 阅读 · 0 评论 -
C++基础4:多态
多态1.多态概念:2.早绑定与晚绑定3.虚函数定义的规则4.纯虚函数5.重载和覆盖的区别6.判断是否覆盖1.多态概念:多态:不同类型对象调用相同接口完成不同的行为。根据对象的实际类型不同,可以自动完成不同的行为,而仅仅通过一致的调用形式。2.早绑定与晚绑定实现:C++多态性主要是通过虚函数实现的,虚函数允许子类重写override(注意和overload的区别,overload是重载,是...原创 2019-08-12 15:54:41 · 247 阅读 · 0 评论