C++ primer plus 第六版 课后答案 8.4
来源:互联网 发布:mmorpg推荐 知乎 编辑:程序博客网 时间:2024/06/08 17:25
原创答案,仅供参考
编译环境windows 8.1,编译器 vs2013
经过测试一切正常:
题目:
下面是一个程序框架:
#include <iostream>using namespace std;
#include <cstring>
struct stringy
{
char *str;
int ct;
};
int main()
{
stringy beany;
char testing[]="Reality isn't what it used tobe.";
set(beany,testing);
show(beany);
show(beany,2);
testing[0]='D';
testing[1]='u';
show(testing);
show(testing,3);
show("Done! ");
return 0;
}
请提供其中描述的函数和原型,从而完成该程序。注意,应用两个show()函数,每个都使用默认参数。
请尽可能使用const参数。set()使用new分配足够的空间来存储指定的字符串。这里使用的技术与设计和实现类时使用
的相似(可能还必须修改头文件的名称,删除using编译指令,这取决于所用的编译器)
#include "stdafx.h"#include <iostream>#include <cstring>//strlen(),strcpy()using namespace std;struct stringy{char *str;//指向字符串int ct;//字符串的长度};void set(stringy &beany,const char arr[]){int ct = strlen(arr);//测量字符串长度beany.ct = ct;//储存长度beany.str = new char [ct+1];//根据长度开辟空间strcpy_s(beany.str, 40, arr);//复制数组到新空间}void show(stringy &beany,int repeat=1){while (repeat--)cout << beany.str << endl;}void show(char arr[], int repeat = 1){while (repeat--)cout << arr << endl;}int main(){stringy beany;char testing[] = "Reality isn't what it used to be.";set(beany, testing);//第一个参数是一个参考//分配空间来保存测试副本//设置beany的str成员指向新块//复制testing去新块//并且设置beany的ct成员show(beany);//打印member字符串一次show(beany, 2);//打印member字符串三次testing[0] = 'D';testing[1] = 'u';show(testing);//打印testing字符串一次show(testing, 3);//打印testing字符串三次show("Done!");while (1);return 0;}
0 0
- C++primer plus第六版课后编程题答案8.4
- C++primer plus第六版课后编程练习答案8.4
- C++PRIMER PLUS第六版课后编程答案 4.1-4.5
- C++PRIMER PLUS第六版课后编程答案 4.6-4.10
- C++PRIMER PLUS第六版课后编程答案 5.1-5.5
- C++PRIMER PLUS第六版课后编程答案 5.6-510
- C++primer plus第六版课后编程题答案 6.1
- C++primer plus第六版课后编程题答案 6.2
- C++primer plus第六版课后编程题答案 6.3
- C++primer plus第六版课后编程题答案 6.4
- C++primer plus第六版课后编程题答案 6.5
- C++primer plus第六版课后编程题答案 6.6
- C++primer plus第六版课后编程题答案 6.7
- C++primer plus第六版课后编程题答案 6.8
- C++primer plus第六版课后编程题答案 6.9
- C++primer plus第六版课后编程题答案7.1
- C++primer plus第六版课后编程题答案7.2
- C++primer plus第六版课后编程题答案7.3
- Android 手势密码分析
- uva1398
- contiki 源码分析之tunslip6(七)(exampes)
- SAX解析XML
- ZOJ 1586 QS Network prim优化模板
- C++ primer plus 第六版 课后答案 8.4
- 九度1048(判断三角形)
- MSP430F5529LP+CC3000学习过程(二)——与PC互传数据
- 平凡人中的小小的愿望
- c++编程思想(一)-------存取控制是编译器行为
- MFC 改变窗口类名
- C++中Format用法
- wordpress wp_nav_menu 连接增加 nofollow
- ShapedPerference使用要注意的问题