#include <iostream>
#include <string.h>
#include <stdlib.h>
using namespace std;
class STRING {
private:
char *S[10];
public:
STRING();
void set_str(int n, const char* str1);
char* get_str(int n);
};
STRING :: STRING(){
for (int i=0; (i < 9); i ++ ){
S[i] = '\0';
cout << S[i];
}
}
void STRING :: set_str(int n,const char*str1) {
S[n] = (char*)malloc(strlen(str1 + 1));
strcpy(S[n], str1);
cout << S[n];
}
char* STRING :: get_str(int n){
return S[n];
}
int main () {
cout << " Init \n";
STRING* str = new STRING();
cout << "Error \n";
return 0;
该程序编译成功,运行,但运行时只在对象STRING* str = new STRING();初始化之前工作。. 所以在这种情况下我看不到错误消息。有人可以指出我的错误吗?如果有更好的方法来初始化字符串数组,我很高兴知道。
我的目标是初始化 tha 数组。并且最初将整个数组的值设置为 NULL。问候