【发布时间】:2021-12-27 12:33:54
【问题描述】:
我创建了一个基本的字符串类,我想给它分配一些值
但问题是我必须做这样的事情......
string str("Hello");
有没有办法让我可以这样做......
string str = "Hello";
就像 c++ std:: 定义的类型(向量、字符串等)如何做的一样?
我也希望这样,而不是输入 std::cout << str.val(),我可以使用 std::cout << str; 来访问它的值,并且同样可以修改(或更新)它。
#include<iostream>
class string
{
private:
char* str; // An uninitialized string
public:
string(char* text) // Constructor which takes a string
{
str = text;
}
char* val() // used to access the value stored in String
{
return str;
}
void update(char* string2) // used to update the value of string
{
str = string2;
}
};
int main()
{
string myStr("Hello World\n"); //initializes a string object
std::clog << myStr.val();
myStr.update("Bye World\n"); //updates the value of myStr
std::clog << myStr.val();
}
感谢回答的人......
【问题讨论】:
-
"Hello"是一个char const[6]并将指针衰减到char const*,而不是char*。