摘要:
1.利用函数模板封装一个排序的函数,可以对不同的数据类型数组进行排序。 2.利用的排序算法是选择排序。 #include<iostream> #include<fstream> #include<string> using namespace std; template<class T> void 阅读全文
posted @ 2019-12-26 19:50
西西嘛呦
阅读(379)
评论(0)
推荐(0)
摘要:
模板就是建立通用的模具,大大提高复用性。 c++的另一种编程思想是泛型编程,主要利用的就是模板。 c++提供两种模板机制:函数模板和类模板。 声明:template<class T>//typename可以替换成class 函数模板 函数模板的作用:建立一个通用函数,其函数返回值类型和形参类型可以不 阅读全文
posted @ 2019-12-26 17:34
西西嘛呦
阅读(662)
评论(0)
推荐(1)
摘要:
#include<iostream> #include<fstream> #include<string> using namespace std; class Person { public: char name[64]; int age; }; void test() { ifstream if 阅读全文
posted @ 2019-12-26 17:04
西西嘛呦
阅读(282)
评论(0)
推荐(0)
摘要:
#include<iostream> #include<fstream> #include<string> using namespace std; class Person { public: char name[64]; int age; }; void test() { ofstream of 阅读全文
posted @ 2019-12-26 16:59
西西嘛呦
阅读(193)
评论(0)
推荐(0)
摘要:
#include<iostream> #include<fstream> #include<string> using namespace std; void test() { ifstream ifs; //如若不指定路径,则在该项目同级下生成 ifs.open("test.txt", ios:: 阅读全文
posted @ 2019-12-26 16:52
西西嘛呦
阅读(447)
评论(0)
推荐(0)
摘要:
c++对文件进行操作需要使用头文件<fstream> 文本文件:文件以文本的ASCII码形式存储在计算机中; 二进制文件:文件以文件的二进制存储在计算机中,用户一般不能直接读取它们 操作文件的三大类: ofstream:写 ifstream:读 fstream:读写 写文本文件步骤:包含头文件:#i 阅读全文
posted @ 2019-12-26 16:29
西西嘛呦
阅读(912)
评论(0)
推荐(0)
摘要:
一个接口,可以使用不同的硬件。 #include<iostream> using namespace std; class Cpu { public: virtual void calculate() = 0; }; class VideoCard { public: virtual void di 阅读全文
posted @ 2019-12-26 16:14
西西嘛呦
阅读(274)
评论(0)
推荐(0)
摘要:
多态使用时,如果子类中有属性开辟到堆区,那么父类指针在释放时无法调用子类的析构代码。 解决方式:将父类中的析构函数改为虚函数或純虚函数。 虚析构函数和純虚函数的共性: 可以解决父类指针释放子类对象; 都需要有具体的函数实现; 虚析构和析构函数的区别: 如果是純虚析构,该类属于抽象类,无法实例化对象。 阅读全文
posted @ 2019-12-26 15:38
西西嘛呦
阅读(361)
评论(0)
推荐(0)
摘要:
制作饮品的过程大致为:煮水、冲泡、倒入杯中、加入调料。 #include<iostream> using namespace std; class AbstractDrink { public: virtual void Boil() = 0; virtual void Brew() = 0; vi 阅读全文
posted @ 2019-12-26 15:23
西西嘛呦
阅读(274)
评论(0)
推荐(0)
摘要:
在多态中,通常父类中虚函数的实现是毫无意义的,主要都是调用子类重写的内容。 因此可以将虚函数改为纯虚函数。 純虚函数语法:virtual 返回值类型 函数名(参数列表)=0; 当类中有了純虚函数,这个类也被称为抽象类。 抽象类特点: 无法实例化对象; 子类必须重写抽象类中的纯虚函数,否则也属于抽象类 阅读全文
posted @ 2019-12-26 15:11
西西嘛呦
阅读(141)
评论(0)
推荐(0)
摘要:
案例描述:利用普通技术和多态技术分别实现两个操作数进行运算的计算器类。 多态的优点:代码结构清晰;可读性强;利于前期和后期的扩展以及维护; #include<iostream> using namespace std; //普通写法,如果想扩展,需要修改源码 //在实际开发中,提倡开闭原则,对扩展进 阅读全文
posted @ 2019-12-26 15:06
西西嘛呦
阅读(515)
评论(0)
推荐(1)
摘要:
多态又分为两类: 静态多态:函数重载和运算符重载 动态多态:派生类和虚函数实现运行时多态 静态多态和动态多态区别: 静态多态的函数地址早绑定-编译阶段 动态多态的函数地址晚绑定-运行阶段 #include<iostream> using namespace std; class Animal{ pu 阅读全文
posted @ 2019-12-26 11:20
西西嘛呦
阅读(181)
评论(0)
推荐(0)
摘要:
C++程序的内存格局通常分为四个区: 全局数据区(data area),代码区(code area),栈区(stack area),堆区(heap area)(即自由存储区)。 全局数据区存放全局变量,静态数据和常量; 所有类成员函数和非成员函数代码存放在代码区; 为运行函数而分配的局部变量、函数参 阅读全文
posted @ 2019-12-26 11:19
西西嘛呦
阅读(641)
评论(0)
推荐(0)
摘要:
例子: #include<iostream> using namespace std; class BasePage { public: void header() { cout << "公共头部" << endl; } void footer() { cout << "公共尾部" << endl; 阅读全文
posted @ 2019-12-26 10:41
西西嘛呦
阅读(199)
评论(0)
推荐(0)
摘要:
函数调用运用()也可以重载。 由于重载后的使用方法非常像函数的调用,因此称为仿函数。 仿函数没有固定写法,非常灵活。 #include<iostream> using namespace std; class MyPrint { public: void operator()(string test 阅读全文
posted @ 2019-12-26 09:43
西西嘛呦
阅读(426)
评论(0)
推荐(0)
摘要:
#include<iostream> using namespace std; class Person { public: Person(string name,int age) { m_Name = name; m_Age = age; } string m_Name; int m_Age; b 阅读全文
posted @ 2019-12-26 09:35
西西嘛呦
阅读(395)
评论(0)
推荐(0)