C++构造函数的各种用法全面解析(C++初学面向对象编程)

一、构造函数的基本用法

1、构造函数概念
一个类的对象被创建的时候,编译系统对象分配内存空间,并自动调用该构造函数,由构造函数完成成员的初始化工作。因此,构造函数的核心作用就是,初始化对象的数据成员

2、构造函数的特点
(1)名字与类名相同,可以有参数,但是不能有返回值(连void也不行)。

(2)构造函数是在实例化对象时自动执行的,不需要手动调用。

(3)作用是对对象进行初始化工作,如给成员变量赋值等。

(4)如果定义类时没有写构造函数,系统会生成一个默认的无参构造函数,默认构造函数没有参数,不做任何工作。

(5)如果定义了构造函数,系统不再生成默认的无参构造函数.

(6)对象生成时构造函数自动调用,对象一旦生成,不能在其上再次执行构造函数
一个类可以有多个构造函数,为重载关系。

3、构造函数的分类

  • 按参数种类分为:无参构造函数、有参构造函数、有默认参构造函数
  • 按类型分为:普通构造函数、拷贝构造函数(赋值构造函数)

4、在类内定义构造函数(基本用法)

#include <iostream>
using namespace std;

//声明Time类 
class Time
{
   
public:  //成员函数共有部分 
	Time()  //定义构造成员函数,函数名与类名相同 
	{
   
		hour= 0;  //利用构造函数给对象中的数据成员都赋初值为0 
		minute= 0;
		sec= 0;
	}
	//成员函数的声明
	void set_time(); 
	void show_time(void);
private:  //类的私有数据部分 
	int hour;  //默认数据也是私有的 
	int minute;
	int sec; 
};

//定义成员函数
//获取时间数据函数 
void Time::set_time(void)  
{
   
	cin >> hour;
	cin >> minute;
	cin >> sec;
}

//显示时间格式的函数 
void Time::show_time(void)  //显示时间函数 
{
   
	cout << hour << ":" << minute << ":" << sec << endl;
}

//主函数 
int main()
{
   
	Time t1;  //通过类Time实例化对象t1
	t1.set_time();  //调用成员函数,给t1的数据成员赋值
	t1.show_time();  //显示t1的数据成员值 
	return 0;
}

01

二、带参构造函数与其调用

1、带参构造函数
简单来说,就是构造函数定义中带有参数,然后对参数进行操作;

调用构造函数内==实例化对象;

在调用时,传入参数。和无参数的构造函数的调用做个对比就很清晰了:

//假设已经定义了一个类Box,则在实例化对象时,也就是调用构造函数时:
Box b1;  //实例化无参构造函数
Box b2
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

鸿蒙Next

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

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

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

打赏作者

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

抵扣说明:

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

余额充值