当前位置: 首页 > article >正文

【C++ Primer Plus习题】8.4

问题:

这里是引用

解答:

#include <iostream>
#include <cstring>

using namespace std;

struct stringy
{
	char* str;
	int ct;
};

void show(const stringy& s, int n=0)
{
	if (n == 0)n++;
	for (int i = 0; i < n; i++)
	{
		cout << s.str << endl;
	}
}

void show(const char *c, int n = 0)
{
	if (n == 0)n++;
	for (int i = 0; i < n; i++)
	{
		cout <<c<< endl;
	}
}

void set(stringy& s, char* test)
{
	int len = strlen(test);
	char* c = new char[len];
	c = test;
	s.str = new char[len];
	s.ct = len;
	strcpy(s.str, c);
}

int main()
{
	stringy beany;
	char testing[] = "Reality isn't what it used to be.";
	set(beany, testing);
	show(beany);
	cout << endl;
	show(beany, 2);
	cout << endl;
	testing[0] = 'D';
	testing[1] = 'u';
	show(testing);
	cout << endl;
	show(testing, 3);
	cout << endl;
	show("Done!");
	cout << endl;

	return 0;
}

运行结果:
在这里插入图片描述

考查点:

  • 函数重载
  • strcpy()
  • strlen()
  • 动态内存分配

2024年9月1日21:21:15


http://www.kler.cn/a/286176.html

相关文章:

  • Hot100之矩阵
  • 爬虫基础(六)代理简述
  • 国产之光DeepSeek架构理解与应用分析
  • OpenFeign的工作原理是什么?它第一次加载的时候为什么慢?
  • 572. 另一棵树的子树
  • 12.udp
  • 六、vue进阶知识点
  • VastBase——VPatch版本控制
  • 使用docker file创建镜像(thirty-seven day)
  • 存储系统总结
  • MATLAB中save_system的用法
  • 【CSS】border-image 样式不生效 - 和谷歌浏览器版本有关系 - 谷歌 80 版本边框图片样式失效问题
  • 人该怎样活着呢?48
  • zdppy+vue3+onlyoffice文档管理系统实战 20240901 上课笔记 基于验证码登录功能基本完成
  • Excel 导入和导出--前后端整合
  • 【AI绘画教程】StableDiffusion真实系模型推荐,搭配ADetailer人脸修复插件,轻松生成真实故事大场景AI人像,让你的SD好用100倍!
  • 力扣9.1
  • 金风科技巴西风电装备制造基地正式投运
  • 大语言模型诞生、探索和爆发阶段
  • 借鉴腾讯系统架构从小到大的过程 - 如何做好一个系统设计?不限于(慧哥)慧知开源充电桩平台
  • uniapp引入最新版Animate.css及使用示例
  • 网络层 III(划分子网和构造超网)【★★★★★★】
  • ureport的坑,打不开报表模板文件
  • Mysql中count(*) over 用法讲解
  • 【Python】如何使用pip,安装第三方库和生成二维码、操作Excel
  • 【C++】单元测试覆盖率工具lcov的使用