- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Harbin Engineering University Computer Science Technology 李晋 实验目的 1、拷贝构造函数 设计在函数中引入对象,采用拷贝构造函数传递对象的程序 。 实验题目 1、设计函数 void markTable(char* table[], int size); 此函数按行输入字符串,从中摘出词并建立词表(词与词之间与空格隔开)。 当词表中的词满size-1个或发现名为”QUIT”的词时,建表工作即告完成。返回时,size记录的是表中词的实际个数,并且table的前size个元素中的每个元素指向一个词。 表中的词不得重复,每个词的长度不超过80,存放词的空间通过new操作获得。 实验题目 函数只能返回一个值。如果程序需要从函数返回两个值怎么办? 解决方法之一是采用引用给函数传递两个参数,然后由函数往目标中填入正确的值。 因为采用引用传递允许函数改变原来的目标,这一方法实际上让函数返回两个信息。 这一策略绕过了函数的返回值,使得可以把返回值保留给函数。 实验题目 2、编写Factor()函数 检查用值传递的第一参数。如果不在0~20的范围内,它就简单地返回错误值(假设程序正常返回为0)。 程序所真正需要的值squared和cubed是通过改变传递给函数的引用返回的,而没有使用函数返回机制。 实验题目 3、分析程序,回答问题 问题: 1、对象h和h2是否占用同一块内存;为什么? 2、对象h的pointer与h2的pointer是否占用同一块内存;为什么? 3、 对象h的pointer与h2的pointer的值是否相等,为什么? 4、分析程序,回答问题 问题: 1、对象h和h2是否占用同一块内存;为什么? 2、对象h的pointer与h2的pointer是否占用同一块内存;为什么? 3、 对象h的pointer与h2的pointer的值是否相等,为什么? 实验题目 实验题目 5、试图通过实验证明 class T{ T (T arg); }; 为什么构造函数的参数是引用型T arg? 如果把构造函数的 去掉,会有什么结果? 6、编写下列程序,并输出结果 #include fstream #include string using namespace std; ofstream out(HowMany2.out); class HowMany2 { string name; // Object identifier static int objectCount; public: HowMany2(const string id = ) : name(id) { ++objectCount; print(HowMany2()); } ~HowMany2() { --objectCount; print(~HowMany2()); } // The copy-constructor: HowMany2(const HowMany2 h) : name(h.name) { name += copy; ++objectCount; print(HowMany2(const HowMany2)); } void print(const string msg = ) const { if(msg.size() != 0) out msg endl; out \t name : objectCount = objectCount endl; } }; int HowMany2::objectCount = 0; // Pass and return BY VALUE: HowMany2 f(HowMany2 x) { x.print(x argument inside f()); out Returning from f() endl; return x; } int main() { HowMany2 h(h); out Entering f() endl; HowMany2 h2 = f(h); h2.print(h2 after call to f()); out Call f(), no
您可能关注的文档
最近下载
- 机械制图-形位公差培训讲义.pptx VIP
- 11.21 峥嵘岁月 课件-2024-2025学年高中音乐人音版(2019) 必修 音乐鉴赏.pptx VIP
- 08D800-7 民用建筑电气设计与施工-室外布线.docx VIP
- 16MR204城市道路-透水人行道铺设图集.docx VIP
- 肿瘤的诊断课件.ppt VIP
- DB1309T122-2022《海水池塘对虾养殖技术规范》.docx VIP
- 110kV变电站防雷接地施工方案.doc VIP
- 《电路分析基础》习题解析汇总(卢飒第二版) 第1--11章.docx VIP
- —机械制图与形位公差 识图与公差.ppt VIP
- 十足股份鲜食认证测试卷.doc
文档评论(0)