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