《Essential C++》系列笔记
对这本书的每一章、每一节以思维导图的形式来理解记忆,方便以后的快速回顾。
新鲜的大白菜
感谢前辈们的帮助!
展开
-
《Essential C++》系列笔记之“传送门”(未完结)
第一章 C++编程基础如何撰写C++程序: https://blog.csdn.net/qq_45669199/article/details/104432724 对象的定义与初始化: https://blog.csdn.net/qq_45669199/article/details/104447256 撰写表达式:条件语句和循环语句:如何运用Array和Vector:指针带来...原创 2020-02-22 18:23:27 · 628 阅读 · 1 评论 -
《Essential C++》系列笔记之第四章(基于对象的编程风格)之第十一节(指针,指向Class Member Function)
习题处理今天是20200327 新的风暴已经出现!原创 2020-03-27 10:25:03 · 119 阅读 · 0 评论 -
《Essential C++》系列笔记之第四章(基于对象的编程风格)之第十节(重载iostream运算符)
代码实践main.cpp#include <iostream>using namespace std;#include "Person.h"int main(){ Person P("HMJ", 12, 12345); cout << P << endl; cin >> P; cout << P <<...原创 2020-03-26 21:08:30 · 167 阅读 · 0 评论 -
《Essential C++》系列笔记之第四章(基于对象的编程风格)之第九节(实现一个function object)
代码实践main.cpp#include <iostream>using namespace std;#include "LessThan.h"#include <vector>int main(){ int a[] = { 34,5,234,65,32,756,2,34 }; vector<int> ivec(a, a + sizeo...原创 2020-03-26 16:33:40 · 139 阅读 · 0 评论 -
《Essential C++》系列笔记之第四章(基于对象的编程风格)之第八节(实现一个copy assignment operator)
代码实践main.cpp#include <iostream>#include "Matrix.h"using namespace std;int main(){ Matrix m0(3, 3); //初始化使用拷贝构造 //Matrix m1(m0); Matrix m1(2, 2); m1 = m0; //赋值使用重载= syste...原创 2020-03-25 18:32:36 · 154 阅读 · 0 评论 -
《Essential C++》系列笔记之第四章(基于对象的编程风格)之第七节(合作关系必须建立在友谊的基础上)
代码实践Building.h#pragma once#include <iostream>using namespace std;class Building{ friend class Goodgay; //这个类做了友元,那么这个类的所有member function都是friend friend void visit_building(Building* ...原创 2020-03-25 17:34:06 · 324 阅读 · 0 评论 -
《Essential C++》系列笔记之第四章(基于对象的编程风格)之第六节(打造一个Iterator Class)
代码实践Triangular.h#pragma once#include <iostream>#include <vector>#include "Triangular_iterator.h"using namespace std;class Triangular_iterator;class Triangular{ friend class T...原创 2020-03-24 18:43:41 · 312 阅读 · 0 评论 -
《Essential C++》系列笔记之第四章(基于对象的编程风格)之第五节(静态类成员)
代码实践main.cpp#include <iostream>using namespace std;#include "Person.h"int main(){ Person::display_add(); //静态成员函数可以当成普通函数调用,只是需要class scope运算符 Person::display(); Person A(18, "hehe"...原创 2020-03-19 21:50:00 · 166 阅读 · 0 评论 -
《Essential C++》系列笔记之第四章(基于对象的编程风格)之第四节(什么是this指针)
代码实践#include <iostream>using namespace std;#include <string>class Teacher{public: Teacher() {} Teacher(int age, string name, int tel_number) :_age(age), _name(name), _tel_num...原创 2020-03-18 17:06:39 · 140 阅读 · 0 评论 -
《Essential C++》系列笔记之第四章(基于对象的编程风格)之第三节(何谓mutable(可变)和const(不变))
代码实践#include <iostream>using namespace std;#include <string>class Teacher{public: Teacher(int age, string name, int tel_number) : _age(age), _name(name), _tel_number(tel_number...原创 2020-03-17 22:31:10 · 139 阅读 · 0 评论 -
《Essential C++》系列笔记之第四章(基于对象的编程风格)之第二节(什么是构造函数和析构函数)
代码实践main.cpp#include <iostream>using namespace std;#include "Matrix.h"#include "Triangular.h"void demo_1(){ Matrix mat(1, 2); //这句话就会触发拷贝构造 等价于Matrix mat2(mat); Matrix mat2 = mat...原创 2020-03-16 17:47:55 · 189 阅读 · 0 评论 -
《Essential C++》系列笔记之第四章(基于对象的编程风格)之第一节(如何实现一个Class)
代码实践main.cpp#include <iostream>using namespace std;#include "Stack.h"int main(){ //class stack; //提供了一个前置声明 下面两句才可以使用 //stack* pa = 0; //void process(const stack & s); //练习4_...原创 2020-03-15 13:55:26 · 128 阅读 · 0 评论 -
《Essential C++》系列笔记之第三章(泛型编程风格)之第十节(使用iostream Iterator)
代码实践#include <iostream>using namespace std;#include <vector>#include <string>#include <algorithm>#include <iterator>#include <fstream>void OperatorString(...原创 2020-03-13 18:16:59 · 105 阅读 · 0 评论 -
《Essential C++》系列笔记之第三章(泛型编程风格)之第九节(如何使用Iterator Inserter)
代码实践#include <iostream>using namespace std;#include <vector>#include <algorithm>#include <functional>#include <iterator>template<typename InputIterator, type...原创 2020-03-13 13:37:30 · 130 阅读 · 0 评论 -
《Essential C++》系列笔记之第三章(泛型编程风格)之第八节(使用Set)
代码实践#include <iostream>using namespace std;#include <string>#include <set>#include <vector>int main(){ /*int ia[] = { 1,4,3,5,5 }; vector<int> svec(ia, ia + 5)...原创 2020-03-12 18:03:02 · 212 阅读 · 1 评论 -
《Essential C++》系列笔记之第三章(泛型编程风格)之第七节(使用Map)
代码实践#include <iostream>using namespace std;#include <string>#include <map>#include <fstream>int Number_of_words(ifstream& ifs){ if (!ifs) { cerr << "file...原创 2020-03-11 18:32:32 · 154 阅读 · 0 评论 -
《Essential C++》系列笔记之第三章(泛型编程风格)之第六节(如何设计一个泛型算法)
代码实践#include <iostream>using namespace std;#include <vector>#include <algorithm>#include <functional>vector<int> demo_1_less_than_10(const vector<int> &...原创 2020-03-11 14:22:48 · 151 阅读 · 0 评论 -
《Essential C++》系列笔记之第三章(泛型编程风格)之第五节(使用泛型算法)
代码实践#include <iostream>using namespace std;#include <vector>#include <algorithm>void demo_find(){ int a[] = { 1,46,2,6,8,4,23,7,9 }; vector<int> ivec(a, a + sizeof(a)...原创 2020-03-09 19:00:37 · 153 阅读 · 0 评论 -
《Essential C++》系列笔记之第三章(泛型编程风格)之第四节(使用顺序性容器)
代码实践#include <iostream>using namespace std;#include <vector>#include <list>#include <deque>#include <string>#include <algorithm>//五种定义方式void demo1(){ /...原创 2020-03-08 19:07:52 · 167 阅读 · 0 评论 -
《Essential C++》系列笔记之第三章(泛型编程风格)之第三节(所有容器的共通操作)
代码实践#include <iostream>using namespace std;#include <vector>int main(){ vector<string> v1; //vector<string>::iterator iter = v1.begin(); v1.insert(v1.begin(), "hehe...原创 2020-03-08 11:33:19 · 160 阅读 · 0 评论 -
《Essential C++》系列笔记之第三章(泛型编程风格)之第二节(了解 Iterator (泛型指针))
代码实践#include <iostream>using namespace std;#include <vector>#include <list>#include <string>template<typename IteratorType, typename ElemType>IteratorType Find(I...原创 2020-03-07 18:52:00 · 156 阅读 · 0 评论 -
《Essential C++》系列笔记之第三章(泛型编程风格)之第一节(指针的算术运算)
代码实践#include <iostream>using namespace std;#include <vector>//任务一#if 0int* Find(vector<int>& v, int value){ for (int i = 0; i < v.size(); i++) { if (v[i] == value...原创 2020-03-07 17:04:39 · 164 阅读 · 0 评论 -
《Essential C++》系列笔记之第二章(面向过程的编程风格)之第九节(设定头文件)
代码实践main函数文件#include <iostream>using namespace std;#include "ALL.h"//如果头文件中没有使用extern声明那么在其他的文件里面Array就无法使用int Array[Max] = { 1,2,3,4,5 }; int main(){ cout << Max << e...原创 2020-03-06 11:36:10 · 179 阅读 · 0 评论 -
《Essential C++》系列笔记之第二章(面向过程的编程风格)之第八节(函数指针带来更大的弹性)
指针数组: Type *array[]数组指针: Type (*array)[]指针函数: Type *function(void)函数指针: Type (*function)(void)函数指针数组: Type (*array[])(void)今天是20200305 指针数组,数组指针,指针函数.函数指针,函数指针数组,指针的指针,多级指针 你值得拥有????...原创 2020-03-05 18:33:07 · 190 阅读 · 0 评论 -
《Essential C++》系列笔记之第二章(面向过程的编程风格)之第七节(定义并使用模板函数)
代码实践#include <iostream>using namespace std;#include <vector>#include <fstream>template<typename T>void Display(vector<T> &v){ for (unsigned int i = 0; i <...原创 2020-03-04 18:30:39 · 139 阅读 · 0 评论 -
《Essential C++》系列笔记之第二章(面向过程的编程风格)之第六节(提供重载函数)
代码实践#include <iostream>using namespace std;void Display(int a){ cout << 1 << endl; cout << a << endl; cout << "--------------" << endl;}//错误,因为只有函...原创 2020-03-04 16:32:49 · 144 阅读 · 0 评论 -
《Essential C++》系列笔记之第二章(面向过程的编程风格)之第五节(声明inline函数)
代码实践#include <iostream>using namespace std;inline void Judge(int a){ cout << ((a % 2) ? "奇数" : "偶数") << endl;}int main(){ for (int i = 0; i < 1000; i++) { Judge(i)...原创 2020-03-03 17:31:47 · 139 阅读 · 0 评论 -
《Essential C++》系列笔记之第二章(面向过程的编程风格)之第四节(使用局部静态对象)
代码实践#include <iostream>using namespace std;#include <vector>const vector<unsigned int>* fib(int size){ static vector<unsigned int> nums; if (size <= 0 || size >...原创 2020-03-03 13:27:46 · 160 阅读 · 0 评论 -
《Essential C++》系列笔记之第二章(面向过程的编程风格)之第三节(提供默认参数值)
只能用pointer而不可以用reference的情况#include <iostream>using namespace std;#include <vector>//只能用pointer而不可以用reference的情况(比如只想操作但是打印看自己意愿)#if 1void Create0(vector<int> &a, ostream...原创 2020-03-02 15:20:12 · 150 阅读 · 0 评论 -
《Essential C++》系列笔记之第二章(面向过程的编程风格)之第二节(调用函数)
代码实践#include <iostream>using namespace std;#include <vector>//#include <algorithm>//reference方式 void BubSort1(vector<int>& a){ for ( int i = 0; i < a.size()...原创 2020-03-01 18:28:25 · 131 阅读 · 0 评论 -
《Essential C++》系列笔记之第二章(面向过程的编程风格)之第一节(如何编写函数)
练习2.1#include <iostream>using namespace std;bool PrintFbl( int Pos, unsigned int &Elem ){ if ( Pos <= 0 || Pos >= 1024 ) { cerr << "Error: Pos <= 0 || Pos >= 1024...原创 2020-02-29 17:13:08 · 127 阅读 · 0 评论 -
《Essential C++》系列笔记之第一章(C++编程基础)之第七节(文件的读写)
代码实践:#include <iostream>using namespace std;#include <fstream>#include <string>int main(){ //文件写出操作#if 0 //ofstream OutFile("hmj.txt"); //如果文件之前没有就会创建,有就会覆盖 ofstream Out...原创 2020-02-27 17:48:48 · 360 阅读 · 0 评论 -
《Essential C++》系列笔记之第一章(C++编程基础)之第六节(指针带来弹性)
今天是20200226 想起学C时刚接触到指针,又好气又好笑!????原创 2020-02-26 18:40:26 · 181 阅读 · 0 评论 -
《Essential C++》系列笔记之第一章(C++编程基础)之第五节(如何运用Array和Vector)
今天是20200225 还有多久可以完结呢????❓原创 2020-02-25 17:16:41 · 143 阅读 · 0 评论 -
《Essential C++》系列笔记之第一章(C++编程基础)之第四节(条件语句和循环语句)
今天是20200224 准备使用钉钉了!!????原创 2020-02-24 18:41:32 · 144 阅读 · 0 评论 -
《Essential C++》系列笔记之第一章(C++编程基础)之第三节(撰写表达式)
今天是20200223 不念过去,不畏将来.奥利给!原创 2020-02-23 18:00:13 · 305 阅读 · 0 评论 -
《Essential C++》系列笔记之第一章(C++编程基础)之第二节(对象的定义与初始化)
今天是20200222 武汉加油!中国加油!原创 2020-02-22 17:39:06 · 174 阅读 · 1 评论 -
《Essential C++》系列笔记之第一章(C++编程基础)之第一节(如何撰写C++程序)
今天是20200221原创 2020-02-21 19:05:38 · 162 阅读 · 0 评论