摘要: C++的运算符重载:使对象的运算表现得和编译器内置类型一样 如下代码,如果T是整形,那很好理解,但是如果 T 是一个 Student 类, a + b ?怎么操作,两个学生类怎么相加? 这个就是我们要说的运算符重载问题 template<typename T> T sum(T a,T b){ ret 阅读全文
posted @ 2022-11-20 22:37 Hello_Bugs 阅读(66) 评论(0) 推荐(1) 编辑
摘要: .在上一节我们实现的 MyVector存在哪些问题? 问题1 现在有Student类 class Student{ public: Student(){cout<<"构造Student对象"<<endl;} ~Student(){cout<<"析构Student对象"<<endl;} private 阅读全文
posted @ 2022-11-20 19:09 Hello_Bugs 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 使用类模板简单实现STL Vector #include <iostream> using namespace std; template<typename T> class MyVector { public: //构造函数 MyVector<T>(int size = 10) { T * _te 阅读全文
posted @ 2022-11-19 17:40 Hello_Bugs 阅读(73) 评论(0) 推荐(0) 编辑
摘要: 类模板=>实例化=>模板类 通过类模板实现栈,点击查看代码 #include <iostream> #include <cstring> using namespace std; template<typename T> //template<typename T=int> 也可以这样写,写个默认类 阅读全文
posted @ 2022-11-16 16:13 Hello_Bugs 阅读(75) 评论(0) 推荐(0) 编辑
摘要: 函数模板 模板的意义:对类型也参数化 int sum1(int a,int b){return a+b;} double sum2(double a ,double b){return a+b;} 几个概念 函数模板 模板的实例化 模板函数 模板类型参数 模板非类型参数 模板实参推演 模板的特例化 阅读全文
posted @ 2022-11-15 23:31 Hello_Bugs 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 指向类成员(成员变量和成员方法)的指针 1:定义一个指针指向类的普通成员变量 示例代码1 class Test2{ public: int ma; static int mb; void f1(){cout<<"Test::void f1()"<<endl;} static void static_ 阅读全文
posted @ 2022-11-13 21:54 Hello_Bugs 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 类的各种成员-> 成员方法 & 成员变量 普通的成员方法=>编译器会添加一个this形参变量 1:属于类的作用域 2:调用该方法时,需要依赖一个对象,而且常对象不能调 3:可以任意的访问对象的私有成员变量 const 常成员方法 => const student *this 1:属于类的作用域 2: 阅读全文
posted @ 2022-11-13 17:49 Hello_Bugs 阅读(73) 评论(0) 推荐(0) 编辑
摘要: 示例代码1 class CDate{ public: CDate(int _year,int _month, int _day){ this->year=_year; this->month=_month; this->day=_day; } private: int year; int month 阅读全文
posted @ 2022-11-13 16:30 Hello_Bugs 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 先看示例代码 #include <iostream> #include<cstring> using namespace std; class Student{ public: Student(int _age , const char * _name) { this->age=_age; int 阅读全文
posted @ 2022-11-13 11:16 Hello_Bugs 阅读(69) 评论(0) 推荐(0) 编辑
摘要: 构造函数 和类名相同,可以带参数,参数可以有多个 定义对象时,自动调用,构造完成了,对象就产生了 构造函数执行完成后,内存开辟完成,同时可以完成初始化工作. 析构函数 ~Test(); 析构函数可以自己调用,不带参数,只有一个析构函数,析构函数调用后,对象不存在了.自己调了析构函数后,就不能在调用对 阅读全文
posted @ 2022-11-12 19:50 Hello_Bugs 阅读(170) 评论(0) 推荐(0) 编辑