C++学习笔记之构造函数与析构函数

C++学习笔记之构造函数与析构函数

class Car
{
public:
	int wheel;
	std::string color;
 	Car(void);//声明构造函数
 	~Car();//声明析构函数
};

构造函数

Car::Car(void)	//定义,其实也可以在声明时直接定义
{
	wheel = 4;
	color = "WHITE";
}

特点

  1. 构造函数的函数名与所在的类名相同(区分大小写)
  2. 在由类定义对象的时候就会第一时间调用构造函数
  3. 构造函数没有返回值,不用加void。
  4. 每一个类都有至少一个构造器,自己忘记定义时,编译器会自动定义一个空的构造器和副本构造器。

作用

申请分配内存

析构函数

Car::~Car()
{
	//目前还不会,以后再补上,反正析构函数不是只声明就能实现释放内存功能的,还需要自己编写具体操作
}

特点

  1. 析构函数与其对应的构造函数名相同,仅在前面多了一个“~”。
  2. 析构函数没有返回值,不用加void。
  3. 析构函数没有参数,不用声明任何形参。
  4. 若不自己定义析构函数,编译器不会自动定义,即析构函数可有可无

作用

清理内存

疑问

  1. 多个构造器有什么用?
  2. 什么时副本构造器?

/*
个人记忆:
构造器=构造函数
析构器=析构函数
*/

发布了11 篇原创文章 · 获赞 0 · 访问量 15

猜你喜欢

转载自blog.csdn.net/qq_35912930/article/details/105420160
今日推荐