Перейти к содержанию
СофтФорум - всё о компьютерах и не только

помогите исправить ошибку в коде С++


Рекомендуемые сообщения

Объявление класса:

 #ifndef DATE_H_#define DATE_H_#include <iostream>namespace DATE{class Date{	private:		int d, m, y; //error: 'int DATE::Date::d', 'int DATE::Date::m', 'int DATE::Date::y' is private		static Date default_date;	public:		struct Bad_Date		{			Bad_Date() {}		};		enum Month {jan = 1, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec};		Date(int dd = 1, Month mm = Month(1), int yy = 1970);		int day() const;		Month month() const;		int year() const;		int leapyear(int yy);		static void set_default(int, Month, int);		Date& add_day(int n);		Date& add_month(int n);		Date& add_year(int n);		bool check_date(const Date& dat);		bool operator==(const Date& dat);		bool operator!=(const Date& dat);		bool operator<(const Date& dat);		bool operator>(const Date& dat);		Date operator++();		Date operator--();		Date operator+=(int n);		Date operator-=(int n);		Date operator+(int n);		Date operator-(int n);		friend std::ostream& operator<<(std::ostream& os, const Date& dat);		friend std::istream& operator>>(std::istream& is, Date& dat);};};#endif

Определение функций:

std::ostream& operator<<(std::ostream& os, const Date& dat){os << dat.d << "/" << dat.m << "/" << dat.y << "\n"; //error: within this contextreturn os;}std::istream& operator>>(std::istream& is, Date& dat){std::cout << "input day: "; //error: within this contextis >> dat.d;std::cout << "input month: "; //error: within this contextis >> dat.m;std::cout << "input year: "; //error: within this contextis >> dat.y;if (check_date(dat)) //error: 'check_date' was not declared in this scope|	return is;}
Ссылка на комментарий
Поделиться на другие сайты

Во первых, check_date() не функция, а метод класа dat, так что вам нужно

dat.check_date();

А лучше сделать check_date static?

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...