class str {
private :
char * data;
bool init;
public :
str () {
init = false;
}
operator = (char * _str) {
if (init) {
del_data ();
}
init = true;
int len = strlen (_str);
data = new char [len + 1];
int num;
for (num = 0; num < len; num ++) {
data [num] = _str [num];
}
data [len] = '\0';
}
operator = (str _str) {
operator = (_str.tochar ());
}
char * tochar () {
if (!init) {
printf ("<b>ERROR: trying to get char data from not initialized string</b><br>\n");
return "";
}
return data;
}
~str () {
del_data ();
}
private :
void del_data () {
if (init) {
delete [] data;
init = false;
} else {
printf ("<b>ERROR: forget to initialize string data</b><br>\n");
}
}
};
Инициализация класса
Код:
У мя получается так:
str name;
name = "Vitas";
А как сделать так:
str name = "Vitas";
А как сделать так:
str name = "Vitas";[/QUOTE]
Код:
str::str (char*) {
...
}
...
}