平时实习题目_答案.docVIP

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
平时实习题目_答案

第一次 问题的提出:编写程序熟悉拷贝函数的三种用法。理解临时对象的概念,并知道它的作用、何时被创建、何时被析构。 补充:同时请尝试派生类的拷贝构造函数的三种调用与析构。 #include "stdafx.h" #include<iostream> using namespace std; class Base { public: Base(){cout<<" "<<"基类构造函数被调用。"<<endl;}; Base(Base &p){cout<<" "<<"基类拷贝构造函数被调用。"<<endl;}; ~Base(){cout<<" "<<"基类析构函数被调用。"<<endl;}; }; class Paisheng:public Base { public: Paisheng(){cout<<" "<<"派生类构造函数被调用。"<<endl;}; Paisheng(Base &p){cout<<" "<<"派生类拷贝函数被调用。"<<endl;}; ~Paisheng(){cout<<" "<<"派生类析构函数被调用。"<<endl;}; }; void fun1(Base p){} Base fun2() { cout<<"在fun2开始建立基类对象base_obj用于返回..."<<endl; Base basefun_obj; cout<<"建立基类对象base_obj成功。"<<endl; cout<<"开始返还基类对象..."<<endl; return basefun_obj; } Paisheng fun3() { cout<<"在fun3开始建立派生类对象pai_obj用于返回..."<<endl; Paisheng paifun_obj; cout<<"建立基类对象pai_obj成功。"<<endl; cout<<"开始返还派生类对象..."<<endl; return paifun_obj; } int main() { cout<<"开始建立基类对象base_obj1..."<<endl; Base base_obj1; cout<<"建立基类对象base_obj1成功。\n"<<endl; cout<<"开始建立基类对象base_obj2,用已有基类对象base_obj1初始化..."<<endl; Base base_obj2(base_obj1); cout<<"建立基类对象base_obj2成功。\n"<<endl; cout<<"开始调用函数Fun1,用基类对象base_obj1作为实参传递..."<<endl; fun1(base_obj1); cout<<"基类对象为实参调用函数fun1成功。\n"<<endl; cout<<"开始调用函数Fun2,返回值为基类对象..."<<endl; fun2(); cout<<"基类对象作为返回值调用函数fun2成功。\n"<<endl; cout<<endl; cout<<"开始建立派生类对象pai_obj1..."<<endl; Paisheng pai_obj1; cout<<"建立派生类对象pai_obj1成功。\n"<<endl; cout<<"开始建立派生类对象pai_obj2,用已有派生类对象pai_obj1初始化..."<<endl; Paisheng pai_obj2(pai_obj1); cout<<"建立派生类对象pai_obj2成功。\n"<<endl; cout<<"开始调用函数Fun1,用派生类对象pai_obj1作为实参传递..."<<endl; fun1(pai_obj1); cout<<"派生类对象为实参调用函数fun1成功。\n"<<endl; cout<<"开始调用函数Fun3,返回值为派生类对象..."<<endl; fun3(); cout<<"派生类对象作为返回值调用函数fun3成功。\n"<<endl; cout<<endl; return 0; } 调试结果: 问题的提出:17世纪法国数学家加斯帕的一本《数学的游戏问题》描述了许多有趣问题,约瑟问题就是其中之一: 15名基督教徒和15名异教徒同乘一船航行,途中风浪大作,危机万分,领航者告诉大家,只要将全船的一半人投入海中,其余人就能幸免。大家都同意这个办法,并协定者30人围成一圈;由第一个人起报数,每数至第9人便把他投入海中,下一个接着从1开始报数,第9人又被投入海中,依次循环,直至剩下15人为止。问题是如何排法使投入海中的人全为异教徒? 补充:同时请尝试输入人数,输出人数,间隔人数均由用户输入。 #include "stdafx.h" #inc

文档评论(0)

jdy261842 + 关注
实名认证
文档贡献者

分享好文档!

1亿VIP精品文档

相关文档