#include<iostream>
using namespace std;
class String {
public:
char *q;
int len;
String() { q = new char[0]; }
String(char * p) {
for (int i = 0;*p!=00; i++) {
len++;
p++;
}
q = new char[len];
for (int i = 0; i < len; i++) {
*q = *p;
p++; q++;
}
for (int i = 0; i < len; i++) {
cout << *q;
q++;
}
}
};
void main() {
String s1;
String s2("My name is navdeep.");
system("PAUSE");
}
嘗試通過constructor.I初始化String類的我越來越怪異輸出
爲什麼發生這種情況我不knnow,我已經嘗試包括在COUT for循環,其中LEN正在增加。那裏的結果是好的。但複製時出現問題。
您似乎忘記了*字符串終止符*。 –
你需要考慮在你的內部字符串緩衝區中有一個終止的'\ 0'字符。 –