![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
ZrZrZr.l
要做就要做的精致,要么别做。
欢迎每一位热爱学习的小伙伴,
来到这里,就是缘分
希望能和大家一起交流学习!
展开
-
综合案例
vector map multimap 容器综合案例#include<iostream>using namespace std;#include<vector>#include<string>#include<map>#include<ctime>//没有分号#define CEHUA 0#define MEISHU...原创 2020-05-02 22:33:37 · 166 阅读 · 0 评论 -
普通函数与模板函数调用规则
//通过通和模板函数都可以实现,优先调用普通//通过空模板强制调用函数模板//函数模板也可以发生重载//如果模板函数可以产生更好的匹配 优先调用函数模板#include<iostream>using namespace std;void myPrint(int a, int b){ cout << "调用普通函数" << endl;}...原创 2020-04-19 09:54:01 · 161 阅读 · 0 评论 -
函数模板案例 排序
#include<iostream>using namespace std;//实现通用 对数组排序//规则从大到小//算法 选择//测试 char int 数组template<class T>void mySwap(T&a, T&b){ T temp = a; a = b; b = temp;}template<cla...原创 2020-04-18 18:51:54 · 233 阅读 · 0 评论 -
02函数模板基本语法
template --声明创建模板typename 表面其后面的符号数据类型 ,可以用class代替T 通用数据类型 名称可以替换 通常为大写字母#include<iostream>using namespace std;template<typename T>void mySwap(T& a, T& b){ T temp = a; ...原创 2020-04-18 17:16:54 · 120 阅读 · 0 评论 -
多态 实现计算器案例
案例描述:分别利用普通写法和多态实现,设计两个操作进行运算的计算器类多态优点:代码组织结清晰可读性强利于前期和后期扩展以及维护//...........................普通实现.....................................class Caculator {public: int getResult(string oper) {...原创 2020-04-12 14:27:07 · 510 阅读 · 0 评论 -
关系运算符重载
重载关系运算符,可以让两个自定义类行对象进行比较#include<iostream>using namespace std;class Person{public: Person(string name, int age) { m_Name = name; m_Age = age; } //重载关系运算符 bool operator== (Person...原创 2020-04-06 20:12:56 · 229 阅读 · 0 评论 -
赋值运算符重载
c++编译器至少给一个类添加4个函数默认构造(无参)默认析构(无参)默认拷贝(对属性值进行拷贝)赋值运算符 operator 对属性进行值拷贝如果类中有属性指向堆区,做赋值操作也会出现深浅拷贝问题先清理置空,再赋值#include<iostream>using namespace std;class Person {public: //friend ost...原创 2020-04-06 19:53:59 · 152 阅读 · 0 评论 -
递减运算符重载
递增运算符重载#include<iostream>using namespace std;//自定义整型class MyInteger{ friend ostream & operator<<(ostream &cout, MyInteger myint);public: MyInteger() { m_Num = 0; } /...原创 2020-04-06 19:07:57 · 219 阅读 · 0 评论 -
>>运算符重载
#include<iostream>using namespace std;class Person {public : friend ostream & operator<<(ostream &cout, Person p); Person(int a, int b) { m_A = a; m_B = b; } //利用成员函数重载p...原创 2020-04-06 15:45:49 · 246 阅读 · 0 评论 -
C++运算符重载之加法重载
运算符重载概念对已经有的运算符进行定义,赋予另一种功能,以适应不同数据类型加号运算符重载作用:实现两个自定义数据类型相加的运算注意实现形式1.成员函数重载2.全局函数重载3.函数重载版本#include<iostream>#include<string>using namespace std;class Persion{public...原创 2020-04-06 12:21:21 · 1065 阅读 · 2 评论 -
4.4.3成员函数做友元函数
#include<iostream>#include<string>using namespace std;class GoodGay {public:GoodGay(); void visit();//参观函数 访问Building中私有属性 void visit2();//参观函数 访问Building中属性// private: Bu...原创 2020-04-04 20:34:23 · 265 阅读 · 0 评论 -
4.4.2类作为友元
#include<iostream>#include<string>using namespace std;class Building;class GoodGay {public:GoodGay();public : void visit();//参观函数 访问Building中属性private: Building * building;};c...原创 2020-04-04 19:58:39 · 153 阅读 · 0 评论 -
4.4.1全局函数做友元
#include<iostream>#include<string>using namespace std;//建筑物类class Building{//全局函数作为Building类的友元 可以访问Buildign的私有成员 friend void goodGay(Building *building);public: Building() { m_S...原创 2020-04-04 19:26:07 · 163 阅读 · 0 评论 -
VS在一个项目中 包含多个main函数的源文件报错怎么解决?
VS编译过程报错,一个项目中包含多个main函数,项目是无法运行的。之前就有遇到,不过没有搞懂怎么解决,只是把其他main注释掉了,hiahia。。。。很多人又来问,如果不是屏蔽几个?超级多呢?批量操作解决你的问题。(shift)看一下,解决方法:把不用的源文件,选中,右键属性,...原创 2020-03-24 22:06:44 · 3548 阅读 · 2 评论 -
34 c++空指针访问成员函数
c++中空指针也可以调用成员函数,但是要看是否有 this。若果有,则需要进行判断,保证代码健壮性```#include<iostream>using namespace std;class Person {public: void showClassName() { cout << "this is person class"...原创 2020-03-24 21:51:40 · 108 阅读 · 0 评论 -
c++this指针概念 用途
我们知道成员变量和成员函数分开存储的每一个非静态成员函数只会诞生一份函数实例,也九十多个同类型的对象会共用一快代码问题是?这快点嘛如何让区分那个对象调用自己?形参和成员变量同名,如何区分this指针是隐含每个非静态成员函数的一种指针this 不需定义 直接使用即可#include<iostream>using namespace std;//1.编码规范 int...原创 2020-03-24 11:53:14 · 133 阅读 · 0 评论 -
类和对象 32 成员函数成员变量分开存储
类和对象 32节知识点整理及代码如下#include<iostream> using namespace std;//成员函数 成员变量 分开存储 只有非静态成员变量属于对象上//静态函数变量都是共享一份//面试题:空对象占内存 1byteclass Person { int m_A;//非静态成员变量 属于类对象上的数据 static int m_B;//静态成员...原创 2020-03-23 23:36:40 · 151 阅读 · 0 评论 -
Effective c++ 定义序列式容器
定义序列式容器5种1.产生空容器listslist;vectorivec;2.产生特定大小的容器(数值类型默认初始值为0)listslist(1024);vectorivec(4);3.产生特定大小的容器,并制定元素初值vectorivec(4,-1);4.通过一对iterators产生容器int a[8]={1,1,2,3,5,8,13,21};vectorfib(a,a+...原创 2020-03-06 22:19:27 · 105 阅读 · 0 评论