上回书说道:构造函数和析构函数都是成员函数。那接下来我们就一起来认识一下这哥俩。
构造函数
what?
当新建一个对象时,需要对其初始化。比如:
设计师设计出一辆汽车——定义了一个对象
思考这辆汽车能干什么,能在水里走吗?能在天上飞吗?——对其进行初始化
构造函数的作用就是初始化
why?
(1)分配内存空间
(2)避免程序中人为的错误,比如没有给变量赋值
how?
使用要求如下:
1构造函数的方法名必须与类名相同
2构造函数没有返回值类型,不能用return语句
3其能把定义对象时的参数传给对象的域
4一个类可以定义多个构造函数,如果定义类时没有定义构造函数,那编译系统会自动插入一个无参数的默认构造函数,其不执行任何代码
5构造函数可以重载
析构函数(~)
what?
清理善后
why?
在跳出程序(比如关闭文件、释放内存等)前释放资源
how?
~Line(); // 析构函数声明
Line::~Line()//析构函数定义
{}
两者比较
构造函数可以多个,可以被重载,可以带参数;
析构函数只有一个,不能被重载,不带参数
小结
在探索中,对“函数是什么”有了更深一层的理解:函数又叫方法,指一个对象能干什么。比如说一个车能直走,也能倒行,这就是车的“函数”