C++学习
意境阑珊处
一个积极成长的年轻人
展开
-
C++学习系列(14)——模板(二:类模板)
C++学习系列(14)——(二:类模板) ②:类模板 2.1类模板语法 类模板的作用: 建立一个通用类,类中的成员数据类型可以不具体制定,用一个虚拟的类型来代表 语法:template<typename/class T,...> 解释: template - -声明创建模板 typename - - 表面其后面的符号是一种数据类型,可以用class代替 T - - 通用的数据类型,名称可以替换,通常为大写字母 总结:类模板和函数模板语法相似,在声明模板template后面加类,此类称为类模原创 2020-09-29 16:08:15 · 183 阅读 · 0 评论 -
C++学习系列(13)——模板(一:函数模板)
C++学习系列(13)——模板(一:函数模板) 针对C++泛型编程和STL技术做详细讲解,探讨C++更深层的使用 ①函数模板 1.1模板的概念 模板就是建立通用的模具,大大提高复用性 模板的特点: 模板不可以直接使用,它只是一个框架 模板的通用并不是万能的 1.2函数模板 C++另一种编程思想称为泛型编程,主要利用的技术就是模板 C++提供两种模板机制函数模板和类模板 1.2.1函数模板语法 函数模板的作用: 建立一个通用函数,其函数返回值类型和形参类型可以不具体制定,用一个虚拟的类型来代表。 语法原创 2020-09-04 16:57:32 · 292 阅读 · 0 评论 -
C++学习系列(12)——职工管理系统
C++学习系列(12)——职工管理系统 1.管理系统需求 职工管理系统可以用来管理公司内所有员工的信息 这次的案例主要利用C++来实现一个基于多态的职工管理系统 公司中职工分为三类:普通员工,经理,老板,显示信息时,需要显示职工编号,职工姓名,职工岗位,以及职责 普通员工职责:完成经理交给的任务 经理职责:完成老板交给的任务,并下发任务给员工 老板职责:管理公司所有事物 管理系统中需要实现的功能如下: 退出管理程序:退出当前管理系统 增加职工信息:实现批量添加职工功能,将信息录入到文件中,职工信息为:职工原创 2020-09-02 20:05:54 · 380 阅读 · 0 评论 -
C++学习系列(11)——文件操作(二:二进制文件)
C++学习系列(11)——文件操作(二:二进制文件) ②:二进制文件 以二进制的方式对文件进行读写操作 打开方式要指定为 ios::binary 2.1写文件 二进制方式写文件主要利用流对象调用成员函数write 函数原型:ostream& write(const char*buffer,int len); 参数解释:字符指针buffer指向内存中一段存储空间。len是读写的字节数 #include<iostream> #include<string> #include<原创 2020-08-20 11:15:10 · 352 阅读 · 0 评论 -
C++学习系列(10)——文件操作(一:文本文件)
C++学习系列(10)——文件操作(一:文本文件) 程序运行时产生的数据都属于临时数据,程序一旦运行结束都会被释放 通过文件可以将数据持久化 C++中对文件操作需要包含头文件#include< fstream > 文件类型分为两种: 1.文本文件 -文件以文本的ASCII码形式存储在计算机中 2.二进制文件 -文件以文本的二进制形式存储在计算机中,用户一般不能直接读懂他们 操作文件的三大类: ofstream:写操作 ifstream:读操作 fstream:读写操作 1.1写文件 写文原创 2020-08-19 13:27:32 · 126 阅读 · 0 评论 -
C++学习系列(9)——类和对象(七:多态)
C++学习系列(9)——类和对象(七:多态) ⑦多态: 7.1多态的基本概念 多态是C++面向对象三大特征之一 多态分为两类 静态多态:函数重载和运算符重载属于静态多态,复用函数名 动态多态:派生类和虚函数实现运行时多态 静态多态和动态多态区别: 静态多态的函数地址早绑定 - 编译阶段确定函数地址 动态多态的函数地址晚绑定 - 运行阶段确定函数地址 #include<iostream> using namespace std; //多态 //动物类 class Animal { pub原创 2020-08-18 16:15:50 · 76 阅读 · 0 评论 -
C++学习系列(8)——类和对象(六:继承)
C++学习系列(8)——类和对象(六:继承) ⑥:继承 继承是面向对象三大特征之一 有些类与类之间存在特殊的关系,如下: 我们发现,定义这些类时,下级别的成员除了拥有上一级的共性,还有自己的特性。 这个时候我们就可以考虑利用继承的技术,减少重复代码 6.1 继承的基本语法 例如我们看到的很多网站中,都有公共的头部,公共的底部,甚至公共的左侧列表,只有中心内容不同,接下来我们分别利用普通写法和继承的写法来实现网页中的内容,看一下继承存在的意义以及好处。 子类->派生类 父类->基类 派生类中的成原创 2020-08-16 20:21:47 · 190 阅读 · 0 评论 -
C++学习系列(7)——类和对象(五:运算符重载)
C++学习系列(7)——类和对象(五:运算符重载) ⑤:运算符重载 运算符重载概念:对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型 5.1加号运算符重载(+) 作用:实现两个自定义数据类型相加的运算 1、成员函数重载+号 2、全局函数重载+号 #include<iostream> #include<string> using namespace std; //加号运算符重载 //1、成员函数重载+号 class Person { public: //1原创 2020-08-13 15:10:07 · 135 阅读 · 0 评论 -
C++学习系列(6)——类和对象(四:友元)
C++学习系列(6)——类和对象(四:友元) ④:友元 生活中你的家有客厅(public),有你的卧室(private) 客厅所有来的客人都可以进去,但是你的卧室是私有的,只有自己能进去,但是,你也可以允许你的好闺蜜和好基友进去。 在程序里,有些私有属性,也想让类外特殊的一些函数或者类进行访问,就需要用到友元的技术 友元的目的是为了让一个函数或者类访问另一个类中私有成员 友元的关键字为 friend 友元的三种实现 全局函数做友元 类做友元 成员函数做友元 4.1全局函数做友元 #include<原创 2020-08-11 14:18:59 · 89 阅读 · 0 评论 -
C++学习系列(5)——类和对象(三:对象模型和this指针)
C++学习系列(5)——类和对象(三:对象模型和this指针) ③:C++对象模型和this指针 3.1 成员变量和成员函数分开存储 在C++中,类内的成员变量和成员函数分开存储 只有非静态成员变量才属于类的对象上 3.2 this指针 C++的成员变量和成员函数时分开存储的 每一个非静态成员函数只会诞生一份函数实例。也就是多个同类型的对象会共用一块代码 那么问题是:这一块代码是如何区分哪个对象调用自己的呢? C++通过提供特殊的对象指针,this指针,解决上述问题,this指针指向被调用的成员函数所属原创 2020-08-10 19:33:51 · 160 阅读 · 0 评论 -
C++学习系列(4)——类和对象(二:对象的初始化和清理)
C++学习系列(4)——类和对象(二:对象的初始化和清理) C++中的面向对象来源于生活,每个对象也都会有初始设置以及对象销毁前的清理数据的设置 ②:对象的初始化和清理 2.1构造函数和析构函数 对象的初始化和清理也是两个非常重要的安全问题 一个对象或者变量没有初始状态对其使用后果是未知 同样的使用完一个对象或者变量,没有及时清理,也会造成一定的安全问题 C++利用了构造函数和析构函数解决上述问题,这两个函数将会被编译器自动调用,完成对象的初始化和清理工作。对象的初始化和清理工作是编译器强制要我们做原创 2020-08-06 17:49:03 · 160 阅读 · 0 评论 -
C++学习系列(3)——类和对象(封装案例设计)
C++学习系列(3)——类和对象(封装案例设计) ①:练习案例1:设计立方体类 设计立方体类(Cube) 求出立方体的面积和体积 分别用全局函数和成员函数判断两个立方体是否相等 思路: #include<iostream> using namespace std; //立方体类设计 //1.创建立方体的类 //2、设计属性和行为 //3、获取立方体面积和体积 //4、分别利用全局和成员函数判断两个立方体是否相等 class Cube { public://行为 //设置长 void原创 2020-08-03 19:36:57 · 176 阅读 · 0 评论 -
C++学习系列(2)——类和对象(一:封装)
C++学习系列——类和对象(一:封装) C++面向对象的三大特征为:封装、继承、多态 C++认为万事万物都皆为对象,对象上有其属性和行为 具有相同性质的对象,可以抽象为类,人属于人类,车属于车类 ①封装 1.1封装的意义 封装是C++面向对象的三大特征之一 封装的意义: 将属性和行为作为一个整体,表现生活中的事物 将属性和行为加以权限控制 封装意义一: 在设计类的时候,属性和行为写在一起,表现事物 语法:class 类名(访问权限:属性/行为); 类中属性和行为 我们统一称为 成员 属性 成员属性原创 2020-07-31 12:28:38 · 181 阅读 · 0 评论 -
C++学习系列(1)——函数
C++学习系列——函数 标题 ①函数的占位参数 C++中函数的形参列表里可以有占有参数,用来占位,调用函数时必须填补该位置 语法:返回值类型void 函数名func(数据类型 int) {} 目前阶段没有用到,后面笔记会有用到 占位参数可以有默认参数 #include<iostream> using namespace std; //占位参数 //返回值类型 函数名(数据类型){} void func(int a,int) { cout << "this is func" &l原创 2020-07-31 09:36:19 · 107 阅读 · 0 评论