3.1构造函数 二、构造函数的基本概念 为了对数据成员赋初值,需要一个公有 成员函数来完成,而且应该是自动完成 -该函数就是构造函数。 构造函数的实质是说明数据成员如何 初始化! ●5
为了对数据成员赋初值,需要一个公有 成员函数来完成,而且应该是自动完成- -该函数就是构造函数。 构造函数的实质是说明数据成员如何 初始化! 二、构造函数的基本概念 3.1 构造函数 ⚫5
3.1构造函数 二、构造函数的基本概念 (1)什么是构造函数 定义了创建对象的方法,提供了初始化对象的一种简 便手段。构造函数是一个由用户定义的特殊的成员 函数。 (2)说明格式 构造函数的说明格式:<类名>([<参数表>]): 例题5.1请为Time类添加构造函数 ●6
3.1 构造函数 二、构造函数的基本概念 (1) 什么是构造函数 定义了创建对象的方法,提供了初始化对象的一种简 便手段。构造函数是一个由用户定义的特殊的成员 函数。 (2) 说明格式 构造函数的说明格式: <类名> ([<参数表>]); 例题5.1 请为Time类添加构造函数 ⚫6
①#include<iostream> ②using namespace std; ③class Time ④{public: ⑤ void displayTime() 例题 ⑧ {cout<<"hour:"<<hour<<endl; 5.1 ⑦ cout<<"minute:"<<minute<<endl; 为 ⑧ cout<<"second:"<<second<<endl; Time ⑨ private: 类 ⑩ int hour;int minute; int second; 添加 ① ; 构造 2 Time::Time(inth,intm,int s) 函数 13{hour=h;minute=m;second=s; ④) ⑥int main0 ⑤{Timet1(0,0,0): )t1.displayTime(); ⑧}
① #include<iostream> ② using namespace std; ③ class Time ④ { public: ⑤ void displayTime() ⑥ {cout<<"hour:"<<hour<<endl; ⑦ cout<<"minute:"<<minute<<endl; ⑧ cout<<"second:"<<second<<endl; } ⑨ private: ⑩ int hour; int minute; int second; ⑪ }; ⑫ Time::Time(int h,int m,int s) ⑬ { hour=h; minute=m; second=s; ⑭ } ⑮ int main() ⑯ { Time t1(0,0,0); ⑰ t1.displayTime(); ⑱ } 例题 5.1 为 Time 类 添加 构造 函数 ⚫ 7
3.1构造函数 (3)特点: ①构造函数必须与类名相同,不能是其它名字。 ②构造函数不能有任何返回类型,也没有返回值。 ®其功能是对对象进行初始化,一般由一系列赋值语句 构成。 ④ 用户不能调用构造函数,而是在定义对象时系统自动 调用。 ⑤在类定义时如果没有定义任何构造函数,则编译器自 动为类生成一个不带任何参数的默认构造函数,但函 数体中没有任何语句。如:Time0} ⑥构造函数允许重载。 ●8
(3) 特点: ① 构造函数必须与类名相同,不能是其它名字。 ② 构造函数不能有任何返回类型,也没有返回值。 ③ 其功能是对对象进行初始化,一般由一系列赋值语句 构成。 ④ 用户不能调用构造函数,而是在定义对象时系统自动 调用。 ⑤ 在类定义时如果没有定义任何构造函数,则编译器自 动为类生成一个不带任何参数的默认构造函数,但函 数体中没有任何语句。 如:Time() {} ⑥ 构造函数允许重载。 3.1 构造函数 ⚫8
3.1构造函数 课堂练习 1.在Time类的构造函数中添加输出 语句,确认构造函数何时执行: ●9
课堂练习 1. 在Time类的构造函数中添加输出 语句,确认构造函数何时执行; 3.1 构造函数 ⚫9