③取消类中成员函数IncreaceOneSecond( )的注释标志,将该函数补充完整,注意时间在增加一秒情况下的进位关系。 该函数的代码如下: void Time::IncreaseOneSecond() { if(Second<59) Second++; else if(Second==59&&Minute==59&&Hour==23) { Hour=0; Minute=0; Second=0; } else if(Second==59&&Minute==59&&Hour<23) { Minute=0; Second=0; Hour++; } else if(Second==59&&Minute<59&&Hour<23) { Minute++; Second=0; Hour++; } cout< 5 实验题目(2) 定义一个Girl类和一个Boy类,这两个类中都有表示姓名、年龄的私有成员变量,都要定义构造函数、析构函数、输出成员变量信息的公有成员函数。 ①根据要求定义相应的类。 ②将Girl类作为Boy类的友元类,在Girl类的成员函数VisitBoy(Boy & )中访问Boy类的私有成员,观察程序运行结果。 ③在Boy类的某成员函数VisitGirl(Girl & )中试图访问Girl类的私有成员,观察编译器给出的错误信息,理解原因。 ④主函数中正确定义两个类的对象,调用各自的成员函数实现相应功能。 ⑤再将Boy类作为Girl类的友元类,在Boy类的某成员函数VisitGirl(Girl & )中访问Girl类的私有成员,观察编译器给出的信息。 ⑥删除两个类中的函数VisitGirl(Girl & ) ,VisitBoy(Boy & ),定义一个顶层函数VisitBoyGirl(Boy &, Girl &),作为以上两个类的友元,通过调用该函数输出男孩和女孩的信息。 实验解答: ①定义相应的类,主函数中定义相应的类成员,调用各类的输出函数显示信息。 源程序代码如下: #include Boy::~Boy() { } void Boy::print() { cout<<\} Girl::Girl(char N[],int A) { strcpy(name,N); age=A; } Girl::~Girl() { } void Girl::print() { cout<<\} void Girl::VisitBoy(Boy & boy) { cout<<\ cout<<\} int main() { Boy a(\ Girl b(\ b.VisitBoy(a); a.print(); b.print(); return 0; } 实 验 报 告 7 程序的运行结果是: Boy's name: xpx Boy's age: 19 Boy: xpx 19 Girl: lala 19 Press any key to continue ②将Girl类作为Boy类的友元类, 写出Girl类的成员函数VisitBoy(Boy & )的实现代码。 void Girl::VisitBoy(Boy & boy) { cout<<\ cout<<\} 实 验 报 告 ③ 在Boy类的某成员函数VisitGirl(Girl & )中试图访问Girl类的私有成员,记录编译器给出的错误信息,与②对比,你能得出友元的什么特性? 友元关系是单向的,不具有交换性 ④在上面代码的基础上,在Girl类的定义中,增加一行代码:friend Boy; 在主函数中通过Boy类对象. VisitGirl(Girl类对象) 的形式输出Girl类对象的信息。编译的结果是?写出这一步你的主函数代码,要求分别用友元函数Girl类对象. VisitBoy(Boy类对象);和Boy类对象. VisitGirl(Girl类对象) ;和输出两个类对象的信息。 D:\\Microsoft Visual Studio\\MyProjects\\实验二\\exp3_1.cpp|14|error: no `void Girl::VisitBoy(Boy&)' member function declared in class `Girl'| G1.VisitBoy(B2); B2.VisitGirl(G1); 输出: Girl constructing 8 Boy constructing Boy's name: Jack Boy's age: 22 Girl's name: Mary Girl's age: 20 实 验 报 告 ⑤定义一个顶层函数void VisitBoyGirl(Boy &, Girl &),作为以上两个类的友元函数,主函数中通过调用该函数输出男孩和女孩的信息。写出该友元函数的完整代码,以及主函数的代码。 void VisitBoyGirl(Boy &boy, Girl &girl) { cout<<\ cout<<\ cout<<\ cout<<\} VisitBoyGirl(B2, G1); 实 验 报 告 9
类和对象的定义和使用 - 图文(2)
2020-05-09 14:34
类和对象的定义和使用 - 图文(2).doc
将本文的Word文档下载到电脑
下载失败或者文档不完整,请联系客服人员解决!