摘要:
《STL源码剖析》学习笔记 仿函数,也称函数对象。是一种具有函数特质的对象。 仿函数的主要作用在哪里?在STL所提供的算法中,往往有两个版本。其中一个版本表现出最常用的某种运算,第二个版本则表现出最泛化的演算流程,允许用户“以 template 参数来指定要采用的策略。 以 sort() 为例,其第 阅读全文
2023年5月10日 #
2023年5月9日 #
摘要:
面向对象三大特性:封装、继承、多态 封装:复用性高的模块抽象出来,进行整理,作为一个整体,提高了代码的复用性 继承:子类继承父类,把父类中所有的属性和行为都获得,不用再次声明,也提高了代码的复用 多态:一个函数名称有多个接口,由于对象不同,父类指针指向子类对象,对象创建的不同,调用一个接口获得的内容 阅读全文
2023年4月22日 #
摘要:
遍历 map for (auto x: map_1) { cout << x.first << " " << x.second << endl; } 编译 g++ -pipe -O2 -std=c++11 ./filename.cpp 刷题用万能头文件 #include "bits/stdc++.h 阅读全文
2023年4月16日 #
摘要:
多态分为两类: 1.静态多态:函数重载 和 运算符重载属于静态多态,复用函数名 2.动态多态:派生类和虚函数实现运行时多态 静态多态与动态多态的区别: 1.静态多态的函数地址早绑定 - 编译阶段确定函数地址 2.动态多态的函数地址晚绑定 - 运行阶段确定函数地址 #include <iostream 阅读全文
2023年4月14日 #
摘要:
vector.clear() 将 size 设置为0,capacity 不变 继承 //公共页面 class BasePage { public: void header() { cout << "首页、公开课、登录、注册...(公共头部)" << endl; } void footer() { c 阅读全文
2023年4月11日 #
摘要:
封装练习,设计一个学生类,属性有姓名和学号,可以给姓名和学号赋值,可以显示姓名和学号。 #include <iostream> #include <string> using namespace std; class Student { public: // 类中的属性和行为,我们统一称为 成员 s 阅读全文
摘要:
函数重载,可以让函数名相同,提高复用性 #include <iostream> using namespace std; /* 重载需要满足的条件: 1.发生在同一作用域下 2.函数名称相同 3.函数参数类型、个数、顺序不同 */ void func() { cout <<"func()" << e 阅读全文
2023年4月8日 #
摘要:
C++中 struct 和 class 的区别 struct 一般用于描述一个数据结构集合,而 class 是对一个对象数据的封装;struct 一般用于描述一个数据结构集合,而 class 是对一个对象数据的封装;在继承关系中,struct 默认是公有继承,而 class 是私有继承。 在C++中 阅读全文
2023年4月5日 #
摘要:
类型转换 包括静态转换、动态转换、常量转换和重新解释转换。 左值和右值的区别。 变量作用域 阅读全文
摘要:
C++支持完全面向对象的程序设计,包括面向对象开发的四大特性:封装;抽象;继承;多态。 C++ 封装 C++ 抽象 C++ 继承 C++ 多态 多态的实现方式分为三块:重载,重写,重定义。 1.重载是指在同一作用域下,具有相同函数名称不同的参数类型,或不同的参数个数,或不同的返回类型。 2.重写是指 阅读全文