类 是抽象的 而类的对象 是实体
就好像人类 是抽象的 而指定的某个人就是真真实实存才的
类不占用空间 但是对象会占用
class 类名{}; 这就是实现一个类
会有俩个特殊函数
和类名相同的函数 叫构造函数
构造函数是 对象申请的时候 自动调用的 如果你不写 编译器会帮你写 调用默认构造 如果你写了编译器就不会调用默认的 构造参数
和类名相同前面又饿~线的函数 叫析构函数
对象销毁时调用 如果不写 编译器会帮你写 调用默认析构 如果你写了编译器就不会调用默认的析构参数
他们没有返回值
但是类里面有三种属性
public 共有的
这个里面的属性和方法是 都是可以供外部调用
private 私有的
这个里面的属性和方法是 都是不可以供外部调用
protected 保护的
这个里面的属性和方法是 都是可继承
“this”指针
每一个对象里面都会有一个this 指针 来区分不同的对象 他就是对象的代言词
转换构造
class ClassDemo
{
public:
ClassDemo()
ClassDemo(int num);//转换构造函数
~ClassDemo();
int GetNum();
int _num;
};
ClassDemo demo =10;//这就发生了一个转换构造函数 注意他不是赋值 不是赋值
demo = 20; //赋值函数
//生成一个临时对象
/将临时对象赋值给demo
//析构了临时对象
//为什么会死 因为出了作用域了