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

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

Аватара для котвася

Пользователь


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

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


Нашел такое решение:
Код: Выделить весь код
#include <iostream>
class Date
{
public:
	Date(int, char, int);
	Date(int, int, int);
	
	void print() const;
	void printChar() const;
	void setDate(int, int, int);
private:
	int day;
	int month;
	int year;
};
Date::Date(int dd, int mm, int yyyy)
{
	day = dd;
	month = mm;
	year = yyyy;
}
Date::Date(int dd, char mm, int yyyy)
{
	day = dd;
	month = mm;
	year = yyyy;
}

void Date::setDate(int dd, int mm, int yyyy)
{
	day = dd;
	month = mm;
	year = yyyy;
}

void Date::print() const
{
	if(month >= 0)
		std::cout << day << "/" <<  month << "/"  << year << std::endl;
	else
		std::cout << day << "/" << year << std::endl;
}
void Date::printChar() const
{
	std::cout << day << "/" <<  char(month) << "/"  << year << std::endl;
}

int main()
{
	setlocale(LC_ALL,".1251");
	char _month[]="январь";
	Date d(2,12,2000);
	std::cout << _month[0] << std::endl;
	Date d3(1, _month[0],1991);

	d.print();
	d3.printChar();

	system("pause");
	return 0;
}
только вот одна проблема:
в Date могу передать только одну букву названия месяца.
Так что думаю тут без * никак так как надо передавать массив. Или есть другой "правильный путь"?

Отправлено: 23:29, 17-07-2010 | #10

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