C++构造函数

Visual Studio C++学习笔记

第七章 构造函数
第六章 C++类学习
第五章 如何在VisualStudio中调试代码
第四章 C++链接器是如何工作的
第三章 C++编译器是如何工作的?
第二章 浅谈编译器和链接器
第一章 新建工程及build项目



前言

今天学习了C++中构造函数的基本知识


构造函数

构造函数
构造函数是一种特殊类型的方法,它在每次实例化对象时运行
我们结合代码来看一下:这里写一个类,定义两个变量x,y。定义一个打印x,y值的函数Print。
在main函数中实例化,然后调用Print函数。
在这里插入图片描述
可以看到它工作正常,但输出了一些看似随机的值。这是因为我们实例化Entity,并为它分配内存时,实际上并没有初始化那个内存,所以内存里还是原来的东西。

我们可以尝试在main中直接输出x,y的值
在这里插入图片描述

可以看到这里连编译都没有通过,显示变量未初始化。所以我们需要一个方法当构造一个Entity实例时,把x,y设为0(除非他们已经被指定了值)。
你可能会想到,我们直接在类中定义一个初始化方法,将这两个值初始化就好了,下面是结果,这样是可以的。
在这里插入图片描述
但这样意味着我们每写一个类或者调用一次都需要初始化一下,这明显很不方便,于是就有了构造函数。

这是一种特殊类型的方法,每次你构造一个对象都会调用的方法。他没有返回类型,它的名称必须与类的名称相同,像下面这样,括号中可写可不写,是可以正常编译的,与我们使用Init方法的结果是一样的,现在我们不再需要Init了。
在这里插入图片描述

现在我们来试试有参数的构造函数,这里还涉及到了重载函数的部分
在这里插入图片描述

可以看到正常输出值


总结

以上就是今天要讲的内容,本文仅仅简单介绍了C++构造函数的概念,后面会继续对其学习。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值