1.函数定义
数据类型 函数(){
}
2.输出
cpp
cout<<"x="<<x<<"y="<<y<<endl;
3.输入
cpp
cin>>a;
4.main函数与其他函数区别
main()函数前面定义的函数(抽象,是模板);
用形参,代表该函数内变量间的关系
实参,在main函数中真正调用该函数时,传入真正的数据去运算
5.类
cpp
class 类
{
// 变量(属性)(有什么特征)
private:
public:
// 函数(方法)(能做什么)
void show()
{
}
};
6.对象
cpp
// 对象(实例)(实际干活的个体)
Worker work1,work2;
类 对象;
后续使用(添加数据),直接找对象。
对象.属性 对象.行为()
7.私有的成员变量访问
成员函数 间接访问成员变量
成员函数定义了变量的运算
8.接口与实现分离
。。。.h 头文件 (类的声明)
。。。.cpp 源文件 (类的定义) # include"。。。.h"
main.cpp (实现) # include"。。。.h"
9.构造函数与析构函数
构造函数: 创建对象时自动调用 的函数,用来初始化成员变量。
- 函数名与类名一致
- 没有返回值
- 可以有多个构造函数
- 可以不加参数
析构函数:对象销毁、离开作用域时自动调用,用来释放资源
- ~类名()
- 只有一个
- 没有返回值
cpp
// 第一种形式
class Person
{
public:
// 构造
Person()
{
cout << "构造函数:对象创建了" << endl;
}
// 析构
~Person()
{
cout << "析构函数:对象销毁了" << endl;
}
};
int main()
{
Person p; // 触发构造
return 0; // 程序结束,p 销毁,触发析构
}
// 第二种形式
// 类::构造函数()
Worker :: Worker(...)
{
}
10.调用赋值
对象.变量=...
前面函数定义时,没有形参
类 对象1(..,..,..)
前面函数定义时有形参
11.派生与继承
子类 自动拥有 父类所有 public 成员和函数。
cpp
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 正则化