Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Инициализация класса

6.5K
22 августа 2006 года
viTTas
20 / / 02.04.2005
Сделал класс строк но не пойму как сделать, чтобы при инициализации строки можно было добавлять к ней значение? Вот мой код:
Код:
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";
246
22 августа 2006 года
GIZMO
1.8K / / 30.07.2004
[QUOTE=viTTas]
А как сделать так:
str name = "Vitas";[/QUOTE]
 
Код:
str::str (char*) {
    ...
   
        }
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог