第66回---第74回

第66回

构造函数是用来给类的数据成员进行初始化的

构造函数是特殊的成员函数,特殊点在于: 1、构造函数的函数名与类的名字一样  2、没有返回值,就连void都不允许写,

构造函数一般都是public公有的

如下图所示,没有参数的构造函数是“默认的构造函数”

#include <iostream>

using namespace std;

class Person
{
public:		
	Person():money(0)		//这种写法叫做:构造函数的初始化列表,这种初始化数据成员的方法是最好的
	{
		//这个里面也可对数据成员进行初始化
	}

public:
	int money;
};

int main()
{
	//	   a,me, 都是对象,原来是没有这两个对象的
	Person a;	//创建对象a时,通过调用Person的构造函数创建对象
	Person me;	//这一行也是创建对象

	cout << a.money << endl;
	cout << me.money << endl;

	return 0;
}

注意:对于局部对象,C++会自动创建一个默认的构造函数,这个默认的构造函数会把类类型(eg. string)进行正确的初始化,但是对基本的数据类型不会进行精确的初始化(换言之,给局部对象的基本类型数据成员的赋值是直接用的内存中上次留下来的的垃圾数据)

对于全局对象,C++也会自动创建一个默认的构造函数,而且能合理的初始化(不是随便用的上次内存中的垃圾数据初始化,比如:string 类型初始化为 空字符串,int类型初始化为0)

但是,对于静态的局部对象,C++创建的默认的构造函数对成员变量的初始化规则和全局变量一样,都能合理的进行初始化

 

注意:构造函数的函数体也可以写在类的外面

注意,对于类,我们都是创建一个头文件,而且头文件的名称与类的名称是一样的,然后我们再设计一个源文件,源文件的名字也和类的名字相同,然后这个源文件中要include这个头文件,然后,类的定义放在头文件中,类中的函数的具体实现放在源文件中(详见demo14的代码),然后,其他的需要调用这个类的源文件的前面include这个类的头文件即可(详见demo14的代码)

第67回

 

 第68回

不要使用局部函数声明!函数的声明要放到头文件中!

第69回

第70回

第71回

在 C和 C++ 中,函数的名称就是指向这个函数地址的指针

第72讲

注意:保存在容器中的对象必须可以复制

如下图所示,凡是可以接收父类的地方,都可以接收子类(这种现象就叫做 多态)

第73回

流的条件状态

上图代码表示:输入是否到了ctrl+z这个结束符

下图中,当cin为bad,fail,eof时,这个cin>>value 都会跳出循环

下图中,只要cin不是eof,那么循环就继续

第74回

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值