c++
文章平均质量分 66
Luckys-Yang
已停止在此更新在hexo里更新
展开
-
c++~第12课-----STL---array与vector
STL基本概念STL(Standard Template Library,标准模板库)STL从广义上分为:容器(container),算法(algorithm),迭代器(iterator) 容器和算法之间通过迭代器进行无缝连接 STL几乎所有的代码都采用了模板类或者模板函数STL六大组件容器:各种数据结构,如vector,list,deque,set,map等,用来存放数据 算法:各种常用的算法,如sort,find,copy,for_each等 迭代器:扮演了容器和算法之间的胶合剂原创 2022-02-12 10:04:45 · 912 阅读 · 0 评论 -
案例~c++模板-----数组排序、数组类封装
利用模板将char类型数组和int类型数组进行排序#include <iostream>#include <string>#include <fstream>//包含头文件using namespace std;/* 实现通用 对数组进行排序的函数 规则:从大到小 算法:选择排序 测试:char数组、int数组*///元素交换模板template<typename T>void mySwap(T& a, T& b)原创 2022-02-10 15:08:06 · 773 阅读 · 0 评论 -
c++~第11课-----模板
目录模板的概念函数模板函数模板注意事项普通函数与函数模板区别普通函数与函数模板的调用规则模板的局限性类模板类模板例子类模板和函数模板区别类模板中成员函数创建时机类模板对象做函数参数类模板与继承类模板分文件编写类模板与友元类模板特化模板的概念模板就是建立通用的模具,大大提高复用性模板不可以直接使用,它只是一个框架 模板的通用并不是万能的 c++提供两种模板机制:函数模板和类模板函数模板函数模板的作用:建立一个通用函数,其函数返回原创 2022-02-10 11:07:16 · 340 阅读 · 0 评论 -
C++第10课-----异常处理
目录基本的异常处理异常处理中的传参标准库中的异常类自定义异常类基本的异常处理异常处理机制:暂缓问题处理,不在当前函数中处理,在他调用者中处理 什么是异常? 任何东西都可以认为是异常,错误只是异常中的一种 异常一旦抛出,不做处理,如果引发中断,会调用默认abort终止程序 捕获和处理异常①throw 抛出异常(可以理解为返回值,值是任何类型都可以,是我们处理异常一个参照)②try(检查,捕获)③catch(处理异常)由于catch(...)能匹配任何类型的异常,它.原创 2022-02-08 11:49:49 · 800 阅读 · 0 评论 -
c++~第9课-----文件操作
文件操作包含头文件<fstream> 文件类型分两种:①文本文件:文件以文本的ASCII码形式存储在计算机中②二进制文件:文件以文本的二进制形式存储在计算机中,用户一般不能直接读懂它们文本文件写文件步骤如下:①包含头文件#include <fstream>②创建流对象ofstream ofs;③打开文件ofs.open("文件路径",打开方式);④写数据ofs << "写入的数据";⑤关闭文件ofs.close();#include &原创 2022-02-06 22:25:41 · 627 阅读 · 0 评论 -
案例~c++多态思想(制作饮品)
制作饮品#include <iostream>#include <string>using namespace std;class Drink{public: //煮水 virtual void Boil() = 0; //冲泡 virtual void Brew() = 0; //倒入杯子 virtual void PutInCap() = 0; //加入辅料 virtual void Accessory() = 0; //制作饮品 virtu原创 2022-02-06 16:20:19 · 287 阅读 · 0 评论 -
案例~c++多态(电脑组装)
电脑组装#include <iostream>#include <string>using namespace std;//抽象不同零件类//抽象CPU类class CPU{public: //抽象的计算函数 virtual void calculate() = 0;};//抽象显卡类class VideoCard{public: //抽象的显示函数 virtual void display() = 0;};//抽象内存条类class Me原创 2022-02-06 16:18:10 · 281 阅读 · 0 评论 -
案例~c++多态思想(计算加减乘除例子)
普通写法#include <iostream>#include <string>using namespace std;//普通写法class Counter{public: int Count(string symbol) { if (symbol == "+") { return num1 + num2; } else if (symbol == "-") { return num1 - num2; } else if原创 2022-02-06 14:01:46 · 288 阅读 · 0 评论 -
c++~第8课-----虚函数和多态
目录虚函数和虚函数表虚函数和多态纯虚函数和ADT虚析构函数override和finalc++类型转换虚函数和虚函数表什么是虚函数?用virtual修饰的成员函数叫做虚函数 虚函数对于类的影响增加一个指针的内存,32位4个字节,64位8个字节虚函数表就是一个指针存储所有虚函数的首地址#include <iostream>#include <string>using namespace std;class A{p...原创 2022-02-06 12:13:36 · 342 阅读 · 0 评论 -
c++~第7课-----继承和派生
继承方式与权限问题继承的写法: 父类也称为基类;子类也称为派生类 继承的实质:父类的数据和成员子类中有一份 权限问题:继承方式只会增强父类属性在子类中的权限显示class 子类 :继承方式 父类#include <iostream>#include <string>using namespace std;//父类class parent{public: int a; //接口 int& getNum() {.原创 2022-02-05 11:25:46 · 338 阅读 · 0 评论 -
c++~第6课-----类的组合
以另一个类的对象为数据成员构造函数的写法,必须采用初始化参数列表的写法#include<iostream>#include <string>using namespace std;class MM{public: MM(string name,int age) :name(name),age(age){} void print() { cout << name << " " << age << endl;原创 2022-02-04 10:59:25 · 388 阅读 · 0 评论 -
c++~第5课-----运算符重载
运算符重载概念:运算符重载概念:对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型。 运算符的实质:运算符重载的实质本身就是函数调用 运算符重载函数的写法:函数返回值 函数名(函数参数) 五个不能重载的运算符:①.(成员访问运算符)②*(成员指针访问运算符)③::(域运算符)④sizeof(大小运算符)⑤? : (条件运算符)函数返回值:运算完成后的值决定的函数名 :operator加上重载运算符组成函数名参数 :看运算符的操作数,具体...原创 2022-02-03 14:33:10 · 628 阅读 · 0 评论 -
c++~第4课-----特殊成员
const成员const数据成员const类型变量是不可以修改,只读模式必须采用初始化参数列表方式初始化const成员函数写法上,const写在函数后面常成员函数是不能够修改数据成员,只读数据成员常成员函数可以和普通函数同时存在普通对象和常成员函数同时存在,普通对象优先调用普通函数普通对象可以调用常成员函数//同时存在class MM{ void print() { //num = 0;//错误,不能修改只读模式 cout <<"普通函数"原创 2022-02-02 15:23:59 · 208 阅读 · 0 评论 -
c++~第3课-----构造函数
目录构造函数概念:构造有参,无参,重载函数初始化列表析构函数:拷贝构造函数深浅拷贝构造和析构顺序问题c++结构体:构造函数概念:1、构造函数概念一个类的对象被创建的时候,编译系统对象分配内存空间,并自动调用该构造函数,由构造函数完成成员的初始化工作。因此,构造函数的核心作用就是,初始化对象的数据成员构造函数长什么样的?函数名和类名相同没有返回值(连void也没有)如果不写构造函数,任何类中都存在一个默认的构造函数默认的构造函数是无参的。...原创 2022-02-01 20:19:09 · 423 阅读 · 0 评论 -
c++~第2课-----类和对象
类和对象的基本概念:什么是类?一系列事物的抽象,万物皆可为类。 属性:事物的特征--->数据类型描述 行为:事物的操作--->函数描述 类的特点:封装,继承/派生,多态 C++的struct是兼容C语言的,所以C++的struct可以当作结构体去使用,另外struct还可以用来定义类,和class定义类是一样的,区别是struct定义类默认访问权限是公有的,class定义类默认访问权限是私有的什么是对象?类的具体化,类的实例化.类的定义:创建语法://创建一个类原创 2022-01-31 16:22:53 · 777 阅读 · 0 评论 -
C++~第1课-----c和c++区别
头文件:1.c++当中头文件可以直接采用类名的方式直接包含,不需要.h2.如果想要包含C语言标准库中的头文件,可以采用.h方式包含,也可以采用去掉.h直接在头文件前面加个c (例如:<cstring>)3.包含自定义头文件,不可以采用缺少.h的方式写法(例如:"myhead.h")入口函数:1.c++中只支持int返回值类型主函数2.c++中主函数的参数没什么要求,可以写也可以不写。命名空间:#include <iostream>//标准c++头文原创 2022-01-31 10:50:32 · 384 阅读 · 1 评论