构造函数:1.在创建一个新的对象时,一定会调用初始化函数(自动调用)
2.构造函数的名字和类名相同
3.构造函数没有返回值类型,不能写void,可以有参数(可以重载),可以设置参数默认值
4.在对象创建时自动调用且一定会调用,且只调用一次
5.如果一个类中没有显示的声明构造函数编译器会自动为类生成一个构造函数,自动生成的构造函数,函数体为空,且没有参数.
类名(){}
当你显示的写了构造函数时,编译器就不会自动生成了。
构造函数的作用仅仅是为成员变量赋值a=1024。在调用构造函数之前已经为对象的空间分配好了
2.某些编译器还不能完全的支持C++11,在编译时可以指定编译器选项,明确指定使用哪一个标准 g++ main.c -o main -std=C++11
3.销毁对象用析构函数~类名(){}
特点:1.~类名()
2.析构函数没有参数且没有返回值
3.如果一个类中没有显示的声明析构函数,会自动生成一个析构函数
先构造的对象后析构,后构造的对象先析构
4.考虑什么时候需要需要自定义构造函数和析构函数?
5..全局对象在什么时候构造,在什么时候析构
6.当类A(RECT)中拥有一个类B(point)类对象,A和B的构造函数顺序是什么?A和B的析构函数顺序是什么?