
C++学习
Mic_hu
这个作者很懒,什么都没留下…
展开
-
C++之STL-vector-string-list-deque-queue-map-文件操作
vector声明与迭代//vector容器内置数据类型void test01(){ vector<int> v; //向容器插入数据 v.push_back(10); v.push_back(20); v.push_back(30); v.push_back(40); //通过迭代器访问容器中的数据 /*vector<int>::iterator itBegin = v.begin();//起始迭代器。指向容器容器第一个元素 vector<int>原创 2020-11-21 21:14:40 · 364 阅读 · 0 评论 -
C++ vector容器结构和组成
C++ vector容器容器结构组成vectoir构造函数vector容器实现二维数组容器结构组成front()第一个元素v.begin()第一个元素位置v.end()最后一个元素的下一个位置v.rbegin()最后一个元素vectoir构造函数vector v; //采用模板实现类实现,默认构造函数vector(v.begin(), v.end()) //将v[begin(), end())区间中的元素拷贝给本身,左闭右开区间vector容器实现二维数组voi原创 2020-10-06 11:17:13 · 807 阅读 · 0 评论 -
C++结构体分文件编写
C++结构体分文件编写主文件“class.cpp”point.hpoint.cppcircle.cppcircle.h主文件“class.cpp”实现判断点和圆的位置关系,在园内,在圆上,在圆外。#include<iostream>#include<string>#include "point.h"#include "circle.h"using namespace std;//判断点和圆之间的关系void isInCircle(Circle &c, p转载 2020-09-05 19:51:52 · 2771 阅读 · 0 评论 -
C函数指针、函数指针作为函数参数、在结构体中使用函数指针
1.定义int max(int a, int b){ return (a > b ? a : b);}int min(int a, int b){ return (a < b ? a : b);}//函数指针int(*fuc)(int, int)2.作用保存地址,保存程序的入口地址,可以指向不同的函数,表现不同的功能fuc = max;int main(){ int result; int (*fuc)(int, int) fun = max; result转载 2020-09-05 10:39:14 · 1437 阅读 · 0 评论 -
(C++结构体、指针、数组、函数应用
C++结构体、指针、数组、函数应用#include<iostream>#include<string>#include<ctime>using namespace std;//学生结构体struct Student{ //姓名 string sName; //分数 int score;};struct Teacher{ //姓名 string tName; //学生数组 struct Student sArray[5];};/原创 2020-09-01 21:17:44 · 230 阅读 · 0 评论 -
C++学习笔记20190707 类型转换
1类型转换调用方法double d = static_cast(a);static_cast使用 static_cast<目标类型>(原始对象)2动态转换dynamic_cast3.不可转换基础数据类型,父子之间可以转换,父转子 不可以 子转父可以2异常1.try试图执行try{}中的内容2.在可能出现异常的地方抛出异常throw3.try下面catch捕获异常4.ca...翻译 2019-07-16 18:14:17 · 107 阅读 · 0 评论 -
C++学习笔记20190705_多态
1静态联编和动态联编1)静态多态 函数重载2)动态多态 虚函数继承关系2静态联编1)地址早绑定 编译阶段绑定好地址3动态联编1)地址晚绑定,运行时候绑定好地址4多态1)父类的引用或指针指向子类的对象2多态原理解析1)当父类中有了虚函数后,内部结构就发生了改变,内部多了一个vfprt即virtual function pointer虚函数表指针2)指向vtfable虚函数表3...翻译 2019-07-06 19:25:27 · 124 阅读 · 0 评论 -
C++学习笔记20190704_继承
01关系运算符重载1.自定义数据类型 不会内部做比较 == !=2.所以要重载 == !=函数的调用运算符重载1.()仿函数 对象()看似像函数调用2.Myadd() 匿名对象不要重载 && 和 ||1.本身有短路特性我们无法去实现这种特性 所以不要重载02继承网页 很多公共部分 导致实现时候有很多重复的代码引出继承,基类(父类) 公共网页 具体子类实现不同的内...翻译 2019-07-04 19:19:26 · 145 阅读 · 0 评论 -
C++学习笔记20190703
01拷贝构造函数********拷贝构造函数声明//拷贝构造Myarray::Myarray(const Myarray & array){ cout << "拷贝构造的调用" << endl; this->pAddress = new int[array.m_Capacity]; this->m_Size = array.m_Size;...翻译 2019-07-03 23:58:04 · 86 阅读 · 0 评论 -
C++学习笔记20190702
01 this指针工作原理翻译 2019-07-02 21:45:02 · 85 阅读 · 0 评论 -
C++学习笔记20190706_泛型编程
1函数模板的使用1.template<class/typename T>告诉编译器紧跟的代码里出现T不要报错2.mySwap(T &a, T &b)类型也需要传入,类型参数化3.mySwap(a, b)自动类型推导 按照ab的类型来替换4.mySwap(a, b)显示指定类型2函数模板与普通函数的区别以及调用规则1.区别 普通函数可以进行隐式类型转换 模板不...翻译 2019-07-07 21:59:02 · 147 阅读 · 0 评论 -
C++学习笔记2019.07.01
visual studio快捷键Ctrl+k+u 取消注释Ctrl+k+c添加注释1.对象的构造和析构定义:无论你是否喜欢,对象的初始化和清理工作是编译器强制我们要做的事情。程序自动调用。使用案例class Person{public: //构造函数的写法 //与类名相同,没有返回值,不写void,可以发生重载(可以有参数) //构造函数有编译器自动调用,而不是手动,而且只会...翻译 2019-07-01 21:04:10 · 203 阅读 · 0 评论