Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Название темы: Перегрузка констуктора
Показать сообщение отдельно

ИО Капитана Очевидности


Contributor


Сообщения: 5387
Благодарности: 1105

Профиль | Отправить PM | Цитировать


Цитата котвася:
Так что думаю тут без * никак так как надо передавать массив. Или есть другой "правильный путь"? »
Для работы со строками нужно использовать классы строковых контейнеров. Управляться с "символьными массивами" под силу только профессионалам, ибо там легко допустить ошибку,*которая сделает программу неработоспособной.


Код: Выделить весь код
#include <strings.h>

class Date
{
public:
	Date (int, const string &, int);
	Date(int, int);
	Date(int, int, int);
	
	void print() const;
	void printChar() const;
	void setDate(int, int, int);
private:
	int Fday;
	int Fmonth;
	string Fsmonth;
	int Fyear;
};


Date::Date(int dd, const string &mm, int yyyy)
{
	Fday = dd;
	year = yyyy;
	Fmonth = mm; // копирование строки выполняется переопределённым оператором класса
}
В Borland C++ Builder для работы со строками обычно используется класс AnsiString
Опять же, нет нужды хранить строковое значение месяца в объекте - ведь названия месяцев известны

-------
Самое совершенное оружие, которым забиты арсеналы богатых и процветающих наций, может легко уничтожить необразованного, больного, бедного и голодного. Но оно не может уничтожить невежество, болезнь, нищету и голод. (Фидель Кастро)

Почему всех осужденных за измену Родине при Сталине реабилитировали при Горбачёве по отсутствию состава преступления? Потому что при Горбачёве измену Родине перестали считать преступлением.

Это сообщение посчитали полезным следующие участники:

Отправлено: 01:45, 21-07-2010 | #12

Название темы: Перегрузка констуктора