第三章 类和对象进阶之——构造函数

本文详细介绍了JavaScript中的构造函数,包括其作用、定义方式、使用场景以及复制构造函数的概念。构造函数主要用于对象初始化,可以有多种定义形式,并可以通过重载提供不同的初始化行为。在创建对象数组或使用对象作为函数参数时,构造函数发挥关键作用。此外,复制构造函数用于通过已有对象创建新对象,系统默认提供但也可自定义实现。文章还通过多个例题解析了构造函数的相关知识点。

1、构造函数的作用

构造函数的作用:初始化,为成员变量赋初值。构造函数是类的特殊成员函数,如果没有编写类的构造函数,则由系统自动添加一个不带参数的构造函数,即默认构造函数

2、定义构造函数

定义构造函数:构造函数的名字应与类名同名。并在定义构造函数时不能指定返回类型,即使void类型也不可以。可以设计多个构造函数,编译系统根据对象产生的方法调用相应的构造函数,即构造函数允许重载。在类体外定义构造函数有三种形式:
假设类的成员变量是 x1,x2,·…,xn

(1)形式一 *

<font color="red">类名::类名(形参1,,形参n):x1(形参1),…, xn(形参n),</font>

(2)形式二*

类名::类名(形参1,,形参n) 
{
   
   
	x1 = 形参1;
	……
	xn = 形参n;
}

(3)形式三*

类名::类名() 
{
   
   
	x1 = 初始化表达式1;
	……
	xn =初始化表达式n;
}

【示例】

class A
{
   
   
	private:
		int a, b;
	public:
		A(int k = 4,int j = 0)
		{
   
   
			a=k;
			b=j;
		}
		~A();
		void show ();//析构函数
};

void A::show()
{
   
   
	cout << "a="<<a<<"b="<< b< endl;
}

A::~A()
{
   
   
	cout <<"调用析构函数..."<< endl;
}

int main()
{
   
   
	A *p = new A(1)://生成对象时自动调用析构函数
	//A x(1);
	//p-6x;
	P->show();
	//p->-A();
	delete p;//对象在销毁时自动调用析构函数
	return 0;
}

【运行结果】


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

润小仙女

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值