![](https://img-blog.csdnimg.cn/20200404103309422.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
C++
C++基础及实践
xiaotongn
温故而知新
展开
-
[C++]virtual关键字
清华陈莉C++虚函数若你打算允许别人通过基类指针调用对象的析构函数(通过delete)就需要让基类的析构函数称为虚函数否则执行delete的结果是不确定的/*8_5.cpp 虚析构函数 */#include<iostream>using namespace std;class Base{public: ~Base();//不是虚函数 }; Base::~Base(){ cout<<"Base destructor"<<endl;}class原创 2020-07-08 22:21:54 · 324 阅读 · 0 评论 -
常量
常量声明:参考C++编程思想,若有侵权,联系后删除!const最初动机是取代预处理器#defines来进行值替代,后来被用于指针、函数变量、返回类型、类对象以及成员函数。所有用法稍有区别,但它们在概念上一致的。值替代使用C设计程序时,预处理器可不受限制地建立宏并用它来代替值,预处理器只做文本替代,没有类型检查概念及功能;C++使用const值来避免该问题。#define BUFSIZE ...原创 2020-04-20 22:08:31 · 157 阅读 · 0 评论 -
queue容器介绍
queue:[kju:]queue是stl中实现队列的数据结构,元素先进先出;queue原理结构示意图:queue理解queue用法queue与deque区别queue容器实现原创 2020-04-13 23:04:50 · 191 阅读 · 0 评论 -
Deque容器介绍
asfVectorDequeStackQueuelistSetMap原创 2020-04-05 10:59:59 · 297 阅读 · 0 评论 -
Vector容器介绍
String概念string是STL的字符串类型,用于表示字符串,字符串也常用char*表示;string是一个类,char*是一个指向字符的指针;string封装了char*,管理字符串,是一个char*型的容器;string用于管理char*所分配的内存,不用考虑内存释放和越界;string提供一些字符串函数,如find、copy、erase、replace、insert;st...原创 2020-04-04 21:12:04 · 713 阅读 · 0 评论 -
Stack容器介绍
STL:标准模板库概念容器迭代器算法C++标准库模板原创 2020-03-24 22:15:59 · 479 阅读 · 0 评论 -
输入和输出流
C++11-ostream使用ostream输出流重载左移运算符,实现非标准输出;原创 2020-02-25 21:18:03 · 290 阅读 · 0 评论 -
异常处理
异常处理方法传统异常处理方式通过返回值来处理错误;C++中异常处理机制使得异常引发和处理不必在同一个函数内,底层函数着重解决具体任务,不必过多考虑异常处理;上层的调用者在适当位置可设计对不同异常类型的处理;异常专门针对抽象编程中一些列的错误,不能在借助函数机制, 函数在内存中访问是通过栈的方式,先进后出,无法进行跳跃,而错误处理的特征是遇到错误信息,返回若干及之后尝试重新处理;异常处理不同...原创 2020-02-25 17:20:48 · 143 阅读 · 0 评论 -
类型转换
C语言中强制类型转换(Type Cast),什么类型都能转换,形式如:#ifndef#define int Type;Type1 b = (Type2) a;#endif //??C++中提供4中类转换方式:静态类转换:static_cast<,如将int转char;重新解释类型:动态类型转换:去const属性转换:...原创 2020-02-20 17:10:41 · 164 阅读 · 0 评论 -
模板介绍
模板分为函数和类模板函数模板:建立一个函数类型和形参个数不具体指定的通用函数,以一个虚拟类型的形式存在,该类型即为模板函数;函数调用时系统根据实参类型来取代模板中的虚拟类型,实现不同函数功能;这是系统指“编译器”?源码中函数模板怎么处理确定形参个数问题,不能是指定所有不同形参类型,这里的虚拟类型怎么实现的?–C++程序设计所考虑的问题,先不深究。C++编译器根据函数模板生成不同函数(汇编...原创 2020-02-02 18:27:10 · 181 阅读 · 0 评论 -
[C++]多态性
多态面向对象三大概念:封装、继承、多态;多态:为什么需要多态?若子类定义和父类中原型相同的函数会发生什么?#include <iostream>using namespace std;class Parent{public: void print(){ cout<<"Parent:print() do..."<<endl; }...原创 2020-01-06 22:40:39 · 533 阅读 · 0 评论 -
C++ 对C的扩展
C中的命名空间:1)在C语言中只有一个全局作用域;2)C语言中所有的全局标识符共享同一个作用域;3)标识符之间可能发生冲突 。C++中提出了命名空间的概念 1)命名空间将全局作用域分成不同的部分;-->划分作用域 2)不同命名空间中的标识符可以同名而不会发生冲突;-->不同作用域内互不干扰 3)命名空间可以相互嵌套; --&...原创 2019-06-25 10:44:53 · 261 阅读 · 0 评论 -
[C++]继承和派生
为什么需要使用继承和派生?继承概念什么是继承?继承是创建新类的方式,新建的类可以继承一个或者多个父类,父类又称基类或超类,新建的类称为派生类或子类;类继承关系的语法形式class 派生类名:基类名表{ 数据成员和成员函数声明};//基类名表:访问控制 基类名1,访问控制 基类名2,...,注意:子类拥有父类的所有成员变量和成员函数; 子类可以拥...原创 2019-08-02 23:12:05 · 366 阅读 · 0 评论 -
纯虚函数和抽象类
目录概念抽象类在多继承中的应用面向抽象类编程思想C面向接口编程和C多态为什么需要用纯虚函数和抽象类?概念sdf抽象类在多继承中的应用asf面向抽象类编程思想asfC面向接口编程和C多态手动阀...原创 2019-08-02 23:14:35 · 192 阅读 · 0 评论 -
类和对象
目录类和对象 对象的构造与析构构造和析构函数构造函数调用规则深拷贝和浅拷贝多个对象构造和析构对象的动态建立和释放静态成员变量和成员函数C++面向对象模型友元强化训练运算符重载C++学习注意几点1. 研究C++编译器管理类和对象的方法 2. C++编译器对类对象的生命周期管里,对象创建、使用、销毁 3. C++面向对象模型初探...原创 2019-07-29 15:35:06 · 589 阅读 · 0 评论 -
STL介绍
C++ STL详解原创 2019-08-12 17:08:47 · 432 阅读 · 0 评论 -
String类用法
标准C++中的string类的用法总结原创 2019-08-12 17:15:12 · 145 阅读 · 0 评论 -
vector
参考:https://www.cnblogs.com/Nonono-nw/p/3462183.htmlvector 是向量类型,它可以容纳许多类型的数据,如若干个整数,所以称其为容器。vector 是C++ STL的一个重要成员,使用它时需要包含头文件:#include<vector>;一、vector 的初始化:可以有五种方式,举例说明如下: (1) vec...转载 2019-06-03 22:52:43 · 564 阅读 · 0 评论