你能告诉我我是否正确实现了字符串输入吗?
#include <iostream>
#include <stdio.h>
using namespace std;
class FirstClass
{
protected:
int str_size;
public:
char* str_value;
FirstClass() {}
FirstClass( int size ) {
str_size = size;
str_value = new char[str_size];
}
void set(char* value) {
str_value = value;
}
char* get() {
return str_value;
}
};
int main() {
FirstClass object(11);
object.set("dddddddddd");
printf("%s", object.get());
return 0;
}
正确输出所有内容且没有错误。
没有错。因为至少您丢失了构造函数中分配的内存,并且您保存的不是字符串本身,而是指向它的指针。
也就是说,例如,做
你会看到输出是不同的。可能不是你想要的...
更新
当然,你需要以同样的精神重写赋值运算符和复制构造函数......
是的,并且
变成
一个
在