第8章-C++程序设计(谭浩强)电子课件.ppt
文本预览下载声明
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 运行情况如下: 12 32 43↙ 12:32:43 注意: (1) 在引用数据成员hour,minute,sec时不要忘记在前面指定对象名。 (2) 不要错写为类名,如写成Time.hour,Time.minute,Time.sec是不对的。因为类是一种抽象的数据类型,并不是一个实体,也不占存储空间,而对象是实际存在的实体,是占存储空间的,其数据成员是有值的,可以被引用的。 (3) 如果删去主函数的3个输入语句,即不向这些数据成员赋值,则它们的值是不可预知的。 例8.2 引用多个对象的成员。 (1) 程序(a) #include iostream using namespace std; class Time {public: int hour; int minute; int sec; }; int main( ) {Time t1; //定义对象t1 cint1.hour; //向t1的数据成员输入数据 cint1.minute; cint1.sec; coutt1.hour″:″t1.minute″:″t1.secendl; //输出t1中数据成员的值 Time t2; //定义对象t2 cint2.hour; //向t2的数据成员输入数据 cint2.minute; cint2.sec; coutt2.hour″:″t2.minute″:″t2.secendl; //输出t2中数据成员的值 return 0; } 运行情况如下: 10 32 43↙ 10:32:43 22 32 43↙ 22:32:43 程序是清晰易懂的,但是在主函数中对不同的对象一一写出有关操作,会使程序冗长。为了解决这个问题,可以使用函数来进行输入和输出。见程序(b)。 (2) 程序(b) #include iostream using namespace std; class Time {public: int hour; int minute; int sec; }; int main( ) { void set_time(Time); //函数声明 void show_time(Time); //函数声明 Time t1; //定义t1为Time类对象 set_time(t1); //调用set_time函数,向t1对象中的数据成员输入数据 show_time(t1); //调用show_time函数,输出t1对象中的数据 Time t2; //定义t2为Time类对象 set_time(t2); //调用set_time函数,向t2对象中的数据成员输入数据 show_time(t2); //调用show_time函数,输出t2对象中的数据 return 0; } void set_time(Time t) //定义函数set_time,形参t是引用变量 { cint.hour; //输入设定的时间 cint.minute; cint.sec; } void show_time(Time t) //定义函数show_time,形参t是引用变量 { coutt.hour″:″t.minute″:″t.secendl; //输出对象中的数据 } 运行情况与程序(a)相同。 (3) 程序(c) 可以对上面的程序作一些修改,数据成员的值不再由键盘输入,而在调用函数时由实参给出,并在函数中使用默认参数。将程序(b)第8行以下部分改为 int main( ) { void set_time(Time,int hour=0,int minute=0,int sec=0); //函数声明 void show_time(Time); //函数声明 Time t1; set_time(
显示全部