首页 > 解决方案 > 演示一个打印字符串组合的类

问题描述

我正在处理一个“家庭作业”问题,但是教授没有解释任何东西,所以我不能提供更多。直接引用问题:

“创建一个打印字符串组合的类。程序应该使用两个构造函数,第一个构造函数应该是一个空构造函数,允许声明字符串数组。第二个构造函数将初始化字符串的长度,分配存储字符串所需的空间并使用 strcpy 创建字符串本身。您的程序应该由一个连接两个字符串的成员函数组成。它应该估计要连接的字符串的长度,为组合的字符串分配内存,然后使用 strcpy() 复制字符串并使用 strcat() 连接字符串。"

我无法理解我在这里实际需要做什么。将不胜感激一些帮助谢谢。编辑:当我的对象也是字符串数组时,我无法理解如何使用两个构造函数。我在堆上分配吗?有没有 strcpy 的替代品?VS 建议使用 strcpy_s 代替(这在我的情况下不起作用,所以我使用 #define 语句来忽略不推荐使用的警告)

标签: c++arraysstringclassoop

解决方案


据我了解,您有一个可以称为 StringBuilder 的类

这只是为您提供帮助的基本草图。

StringBuilder 有两个构造函数

StringBuilder(char* mystring) // will store myString in an internal buffer

StringBuilder(char* myString, int mystring_len) // will read the length of mystring
// perform allocation and copy the string to new created buffer

和一个方法

string_join(char* string1, char* string2)

这将分配一个长度为 string1+string2 的缓冲区,并应用 strcat

我想 string_join 可以与构造函数中先前定义的字符串一起使用

我希望这可以让你澄清一点,但如果我站在你的立场上,我会问你的老师


推荐阅读