QT简介
是一个C++开发库, 可以跨多个平台
官网www.qt.io
可以使用Qt Creator进行开发
使用C++17标准
C++ 基础
- 类
class 类名
{
public:
共有数据
protected:
保护数据
private:
私有数据
};
在不写关键字的时候默认是私有数据, 默认情况下只能访问一个对象的公有属性
- 构造函数, 析构函数
有一个和类名相同没有返回值的函数
class Dog
{
public:
Dog();
};
- 析构函数
class Dog
{
public:
~Dog();
};
在内存被释放或者程序结束的时候调用的函数
- 类的继承
class Animal
{
public:
string name;
};
class Dog :public Animal
{
public:
private:
};
设置为使用public形式进行继承, 基类之中的私有属性不会被继承, 只会继承public/protected, 所有的属性会保存父类的属性, 子类之中函数不能调用父类的私有属性
使用保护继承, 所有继承到的属性都是public属性, 只会继承public/protected, 同样不能访问对象的私有属性,但是可以在类中函数中访问别的两种属性
私有继承, 所有继承到的属性都会变为private, 在类中不能访问所有基类中的成员
- 函数重载
在同一个作用域中, 有相同的函数名, 但是函数的参数的类型, 个数, 顺序不同, 或者返回不同的时候叫做函数的重载
- 使用new进行申请堆区, 使用delete进行删除
//从堆中实例化对象
Dog *dog2 = new Dog;
dog2->age = 3;
cout << dog2->age << endl;
cout << dog1.name <<endl;
cout << "Hello World!" << endl;
delete dog2;
return 0;
类型转换
C++增加了四个static_cast, dynamic_cast, const_cast, reinterpret_cast
使用的语法为xxxx_cast
- static_cast
是一种静态转换, 编译的时候就可以确定装换, 可以完成C语言中的大部分工作
不能转换掉const, volitale, 或者__unsigned的属性
- dynamic_cast
动态转换函数, 和静态转换相对, 只能对指针和引用进行转换, 用于类继承结构中的基类派生类指针引用之间的转换, 在运行的时候还会进行类型检查, 只有是继承关系的类之间才会进行转换, 并且继承的类之中有虚函数的存在
- const_cast
用于修饰不会修改的变量
- reinterpret_cast
不同类型之间的转换, 或者指针数字之间的转换