- 博客(21)
- 收藏
- 关注
原创 多态与虚函数
多态概念 多态是c++的特征之一 多态性(polymorphism)提供接口与具体实现之间的另一层隔离,从而将”what”和”how”分离开来。多态性改善了代码的可读性和组织性,同时也使创建的程序具有可扩展性,项目不仅在最初创建时期可以扩展,而且当项目在需要有新的功能时也能扩展。 多态的分类: 静态多态(静态联编):函数入口地址 是在 编译阶段 确定(运算符重载、函数重载) 动态多态(动态联编):...
2020-03-25 21:05:03
259
1
原创 多继承与虚继承
多继承 我们可以从一个类继承,我们也可以能同时从多个类继承,这就是多继承。 格式 class 子类 : 继承方式1 父类名1,继承方式2 父类名2,继承方式3 父类名3.... { };//表示子类由父类1、2、3....共同派生出来 class Base1 { public: int a; }; class Base2 { public: int b; }; class S...
2020-03-25 20:22:40
226
原创 继承和派生
概述 c++最重要的特征是代码重用,通过继承机制可以利用已有的数据类型来定义新的 数据类型,新的类不仅拥有旧类的成员,还拥有新定义的成员。 继承可以减少代码的冗余,提高代码的重用性 继承的格式 派生类定义格式: class 派生类名 : 继承方式 基类名{ //派生类新增的数据成员和成员函数 }; class 子类 : 继承方式 父类名{ /...
2020-03-24 21:45:36
246
原创 函数调用符()重载及总结
函数调用符()重载 为了优化类成员函数的调用,对函数调用符()进行重载 #include <iostream> using namespace std; class Fun { public: int my_add(int x,int y) { return x+y; } //重载() //第一个()是重载的符号 第二个()是标...
2020-03-23 22:45:37
263
原创 赋值运算符重载
类中没有指针成员 不需要重载=运算符 (默认的浅拷贝就可以完成) #include <iostream> using namespace std; class Person { private: int a; int b; public: Person():a(0),b(0) { cout<<"无参构造"<<en...
2020-03-23 22:26:14
144
原创 友元练习——封装电视机的类
题目要求 编写电视机类,电视机有开机和关机状态,有音量,有频道,提供音量操作的方 法,频道操作的方法。由于电视机只能逐一调整频道,不能指定频道,增加遥控 类,遥控类除了拥有电视机已有的功能,再增加根据输入调台功能。 提示:遥控器可作为电视机类的友元类 封装电视机的类 TV.h #ifndef TV_H #define TV_H #include "remote.h" class TV { pri...
2020-03-21 23:25:39
713
原创 c++——运算符重载
重载运算符的概述 运算符重载,就是对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型 运算符重载的目的:简化操作 让已有的运算符 适应适应不同的数据类型。 语法:函数的名字由关键字operator及其紧跟的运算符组成 比如: 重载+运算符 -->operator+ 重载=号运算 -->operator= 注意:重载运算符 不要更改 运算符的本质操作(+是数据的相加 ...
2020-03-21 23:16:21
155
原创 c++——const
const修饰成员函数 用const修饰的成员函数时,const修饰this指针指向的内存区域,成员函数体内不可以修改本类中的任何普通成员变量, 当成员变量类型符前用mutable修饰时例外。 nt myFun(void) const //const修饰的是成员函数 {}//函数内部不能修改 普通成员变量 mutable修饰时例外 const修饰对象 叫常对象 常对象只能调用const修饰...
2020-03-20 23:49:42
114
原创 c++——友元
c++允许 友元 访问私有数据。 友元的语法: friend关键字只出现在声明处 其他类、类成员函数、全局函数都可声明为友元 友元函数不是类的成员,不带this指针 友元函数可访问对象任意成员属性,包括私有属性。 普通全局函数作为类的友元 class Room { friend void myBestFriend(Room &room); private: string b...
2020-03-20 23:43:36
148
原创 c++——new和delete
new和delete表示从堆区申请空间和释放空间 与malloc,calloc,realloc相比较 1.malloc返回一个void指针,c++不允许将void赋值给其他任何指针,必须强转。 2.malloc可能申请内存失败,所以必须判断返回值来确保内存分配成功。 3.malloc 不会调用构造函数。free 不会调用析构函数 new delete 1、给基本类型申请空间 void test0...
2020-03-19 23:03:56
123
原创 c++——初始化列表
构造函数和其他函数不同,除了有名字,参数列表,函数体之外还有初始化列表。 初始化列表简单使用: class Data { private: int m_a; int m_b; int m_c; public: //成员名(形参名) Data(int a,int b,int c):m_a(a),m_b(b),m_c(c) { //m_a...
2020-03-18 23:09:29
118
原创 c++——构造和析构函数
概述 构造函数和析构函数,这两个函数将会被编译器自动调用; 构造函数完成对象的初始化动作,析构函数在对象结束的时候完成清理工作。 注意: 对象的初始化和清理工作是编译器强制我们要做的事情,即使你不提供初始化操作和清理操作,编译器也会给你增加默认的操作,只是这个默认初始化操作不会做任何事。 构造函数:实例化对象的时候系统自动调用 析构函数:对象释放的时候系统自动调用 定义 构造函数语法: 构造函数函...
2020-03-18 22:21:17
227
原创 c++——类
在C语言中 数据与方法分开: typedef struct { char name[32]; int age; }Person; //动物 typedef struct { char name[32]; int age; int type; }Dog; void PersonEat(Person *p) { cout<<p->n...
2020-03-17 22:27:25
140
原创 c++——引用
在c++中 能用引用绝不用指针 这句话充分说明了引用在c++中的重要意义; 引用是 c++对 c 的重要扩充。在 c/c++中指针的作用基本都是一样的,但是 c++增 加了另外一种给函数传递地址的途径,这就是按引用传递(pass-by-reference),它 也存在于其他一些编程语言中,并不是 c++的发明。 引用 给已有的的变量取个别名 语法: 1、&和别名结合表示引用 2、给某个变量...
2020-03-16 21:58:32
159
原创 c++对c的扩展
语法检查增强 全局变量检测增强 int a = 10; int a; int main() { printf("a = %s\n",a); return EXIT_SUCCESS; } 此代码在C++编译下失败,在c下编译通过; c++中所有的变量和函数都必须有类型 int fun(i) { printf("%d\n",i); return 0; } int fun2(i) { pr...
2020-03-16 20:19:23
283
原创 C++命名空间
1、::作用域运算符(表明数据、方法的归属性问题) 示例: #inclued <iostream> using namespace std; int a = 100; int main(int argc,char argv[]) { int a = 200; cout << "局部的a变量 = " << a << endl;//优先选择局部变...
2020-03-14 21:00:15
431
原创 初识C++
学习C++的第一天 c++的第一个程序 /***i:input 输入 o:output输出 stream流 输入输出流头文件(类似stdio.h)***/ #include <iostream> /***std(标准) 使用标准的命名空间***/ using namespace std; int main(int argc, char *argv[]) { //cout 输...
2020-03-13 21:46:34
151
原创 Linux命令以及认识编辑器之神——vim
接上篇 Linux常用命令 1. 创建连接文件 软连接: ln -s 源文件名 连接文件名 硬连接: ln 源文件名 连接文件名 特点: 软连接与硬连接的源文件和连接文件时刻同步; 软连接一旦删除源文件那么连接文件将不可用,如果删除的是连接文件,源文件依然可用; 硬连接删除源文件或连接文件都不会影响另一个未被删除的文件。 2. cp 文件或目录 拷贝* cp 源文件/目录 路径...
2020-03-07 22:38:54
216
原创 Linux常用命令
友情提醒:请尽量在家目录下练习命令 cd ~ 基本操作命令 1.–help 帮助信息(中文) 命令 --help 2.man(英文 命令 库函数 系统调用) 第1章节:命令 第2章节:系统调用 第3章节:库函数 格式:man n 内容 如果省略 章节数 man 默认从第1章节中查找 3.history 查看历史命令 4.ls 查看目录下的文件信息 -l 列表显示 -a...
2020-03-06 23:33:18
132
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人