c++中的类__2018.05.13

本文详细介绍了构造函数和析构函数的概念及使用方法。构造函数用于对象初始化,确保对象在创建时即拥有确定的状态;析构函数则负责在对象销毁前进行必要的清理工作。文章通过实例展示了如何定义和使用带参数的构造函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


每一个对象都应在它建立之时就有确定的内容,否则就失去了对象的意义。

不能在类声明中对数据成员初始化!!因为类并不是一个实体,而是一种抽象类型,并不占存储空间,显然无处容纳数据。

只有在调用构造函数时才执行这些赋值语句。构造函数和析构函数都是由系统调用的,而不用程序员自己调用。

在构建类对象的时候会自动调用构造函数。在建立对象时系统为该对象分配存储单元,此时执行构造函数,就是把指定的初值送到有关数据成员的存储单元中。每建立一个对象,就调用一次构造函数。

构造函数没有返回值,也没有类型。它的作用只是对队形进行初始化。因此也不需要再定义构造函数时声明类型,这是它和一般函数的一个重要的不同点。

带参数的构造函数:






#include <iostream>
#include <string.h>

using namespace std;

int main()
{
	class Student
	{
	private:
		int num;
		char name[20];
		char sex;
	public:
		void Show()
		{
			cout << "num: " << num << endl;
			cout << "name: " << name << endl;
			cout << "sex: " << sex << endl;
		}
		Student(int h = 0, char *ch1 = "wangpeng", char c = 'M')
		{
			num = h;
			strcpy_s(name, ch1);
			sex = c;
		}
	};
	Student stu0;
	stu0.Show();
}

因为在定义对象stu0的时候没有给实参,系统就调用默认构造函数,各形参的值区默认值。

应该在声明构造函数的时候指定默认值,而不能只在定义构造构造函数时指定默认值。


析构函数的作用并不是删除对象,而是在撤销对象占用的内存之前完成一些清理工作,使这部分内存可以被程序分配给新对象使用。

因为析构函数并没用函数参数,因此它不能被重载。一个类可以有多个构造函数,但是只能有一个析构函数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值