1.函数定义
数据类型 函数(){ }2.输出
cout<<"x="<<x<<"y="<<y<<endl;3.输入
cin>>a;4.main函数与其他函数区别
main()函数前面定义的函数(抽象,是模板);
用形参,代表该函数内变量间的关系
实参,在main函数中真正调用该函数时,传入真正的数据去运算
5.类
class 类 { // 变量(属性)(有什么特征) private: public: // 函数(方法)(能做什么) void show() { } };6.对象
// 对象(实例)(实际干活的个体) Worker work1,work2; 类 对象;后续使用(添加数据),直接找对象。
对象.属性 对象.行为()
7.私有的成员变量访问
成员函数间接访问成员变量
成员函数定义了变量的运算
8.接口与实现分离
。。。.h 头文件 (类的声明)
。。。.cpp 源文件 (类的定义) # include"。。。.h"
main.cpp (实现) # include"。。。.h"
9.构造函数与析构函数
构造函数:创建对象时自动调用的函数,用来初始化成员变量。
- 函数名与类名一致
- 没有返回值
- 可以有多个构造函数
- 可以不加参数
析构函数:对象销毁、离开作用域时自动调用,用来释放资源
- ~类名()
- 只有一个
- 没有返回值
// 第一种形式 class Person { public: // 构造 Person() { cout << "构造函数:对象创建了" << endl; } // 析构 ~Person() { cout << "析构函数:对象销毁了" << endl; } }; int main() { Person p; // 触发构造 return 0; // 程序结束,p 销毁,触发析构 } // 第二种形式 // 类::构造函数() Worker :: Worker(...) { }10.调用赋值
对象.变量=...
前面函数定义时,没有形参
类 对象1(..,..,..)
前面函数定义时有形参
11.派生与继承
子类自动拥有父类所有 public 成员和函数。
class 父类名 { // 成员、方法 }; class 子类名 : public 父类名 { // 自己新增的成员、方法 };12.多态(虚函数)
父类指针指向子类对象
父:person
子:student
都定义了say()成员函数
student s;
person* p=&s;
p->say() //此处调用的是父类say()函数
加入虚函数
父类:virtualvoid say(){
}
子类:void say()override{
}
此时再使用上述指针,则p指向的是子类的say()函数
13.标准库与第三方库
- QT 图形界面
- algorithm 算法
- chrono 时间
- cmath 算术
- memory 内存管理智能指针
- future 异步多线程
- poco 全能库
- libcurl 传输url库
- openssl 安全通信
- opencv 机器学习,视觉
- vulkan 计算,图形API
- openGL 2D,3DAPI
- JUCE 音频,视频
- unordered_map 哈希表
- vector 数组
- regex 正则化