自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 多态与虚函数

多态概念多态是c++的特征之一多态性(polymorphism)提供接口与具体实现之间的另一层隔离,从而将”what”和”how”分离开来。多态性改善了代码的可读性和组织性,同时也使创建的程序具有可扩展性,项目不仅在最初创建时期可以扩展,而且当项目在需要有新的功能时也能扩展。多态的分类:静态多态(静态联编):函数入口地址 是在 编译阶段 确定(运算符重载、函数重载)动态多态(动态联编):...

2020-03-25 21:05:03 179 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 182

原创 继承和派生

概述c++最重要的特征是代码重用,通过继承机制可以利用已有的数据类型来定义新的数据类型,新的类不仅拥有旧类的成员,还拥有新定义的成员。继承可以减少代码的冗余,提高代码的重用性继承的格式派生类定义格式: class 派生类名 : 继承方式 基类名{ //派生类新增的数据成员和成员函数 }; class 子类 : 继承方式 父类名{ /...

2020-03-24 21:45:36 183

原创 函数调用符()重载及总结

函数调用符()重载为了优化类成员函数的调用,对函数调用符()进行重载#include <iostream>using namespace std;class Fun{public: int my_add(int x,int y) { return x+y; } //重载() //第一个()是重载的符号 第二个()是标...

2020-03-23 22:45:37 199

原创 赋值运算符重载

类中没有指针成员 不需要重载=运算符(默认的浅拷贝就可以完成)#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 114

原创 友元练习——封装电视机的类

题目要求编写电视机类,电视机有开机和关机状态,有音量,有频道,提供音量操作的方法,频道操作的方法。由于电视机只能逐一调整频道,不能指定频道,增加遥控类,遥控类除了拥有电视机已有的功能,再增加根据输入调台功能。提示:遥控器可作为电视机类的友元类封装电视机的类TV.h#ifndef TV_H#define TV_H#include "remote.h"class TV{pri...

2020-03-21 23:25:39 635

原创 c++——运算符重载

重载运算符的概述运算符重载,就是对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型运算符重载的目的:简化操作 让已有的运算符 适应适应不同的数据类型。语法:函数的名字由关键字operator及其紧跟的运算符组成比如:重载+运算符 -->operator+重载=号运算 -->operator=注意:重载运算符 不要更改 运算符的本质操作(+是数据的相加 ...

2020-03-21 23:16:21 109

原创 c++——const

const修饰成员函数用const修饰的成员函数时,const修饰this指针指向的内存区域,成员函数体内不可以修改本类中的任何普通成员变量, 当成员变量类型符前用mutable修饰时例外。nt myFun(void) const //const修饰的是成员函数{}//函数内部不能修改 普通成员变量 mutable修饰时例外const修饰对象 叫常对象常对象只能调用const修饰...

2020-03-20 23:49:42 80

原创 c++——友元

c++允许 友元 访问私有数据。友元的语法:friend关键字只出现在声明处其他类、类成员函数、全局函数都可声明为友元友元函数不是类的成员,不带this指针友元函数可访问对象任意成员属性,包括私有属性。普通全局函数作为类的友元class Room{ friend void myBestFriend(Room &room);private: string b...

2020-03-20 23:43:36 121

原创 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 71

原创 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 74

原创 c++——构造和析构函数

概述构造函数和析构函数,这两个函数将会被编译器自动调用;构造函数完成对象的初始化动作,析构函数在对象结束的时候完成清理工作。注意:对象的初始化和清理工作是编译器强制我们要做的事情,即使你不提供初始化操作和清理操作,编译器也会给你增加默认的操作,只是这个默认初始化操作不会做任何事。构造函数:实例化对象的时候系统自动调用析构函数:对象释放的时候系统自动调用定义构造函数语法:构造函数函...

2020-03-18 22:21:17 172

原创 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 89

原创 c++——引用

在c++中 能用引用绝不用指针这句话充分说明了引用在c++中的重要意义;引用是 c++对 c 的重要扩充。在 c/c++中指针的作用基本都是一样的,但是 c++增加了另外一种给函数传递地址的途径,这就是按引用传递(pass-by-reference),它也存在于其他一些编程语言中,并不是 c++的发明。引用 给已有的的变量取个别名语法:1、&和别名结合表示引用2、给某个变量...

2020-03-16 21:58:32 116

原创 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 234

原创 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 357

原创 初识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 113

原创 基于Linux系统的C语言歌词解析

该歌词解析器是在Ubuntu系统下实现的,可以实现歌词的滚屏实时显示、进度条及时间显示、以及字符画的显示。

2020-03-13 20:33:14 1454

原创 Linux命令以及认识编辑器之神——vim

接上篇Linux常用命令1. 创建连接文件软连接:ln -s 源文件名 连接文件名硬连接:ln 源文件名 连接文件名特点:软连接与硬连接的源文件和连接文件时刻同步;软连接一旦删除源文件那么连接文件将不可用,如果删除的是连接文件,源文件依然可用;硬连接删除源文件或连接文件都不会影响另一个未被删除的文件。2. cp 文件或目录 拷贝*cp 源文件/目录 路径...

2020-03-07 22:38:54 178

原创 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 93

原创 结构体的浅拷贝与深拷贝问题

指针变量 作为结构体的成员 结构体变量间的赋值操作 容易导致“浅拷贝”发生

2020-03-05 22:29:00 417

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除