Форум программистов, компьютерный форум CyberForum.ru

программа перескакивает определение элемента класса - C++

Восстановить пароль Регистрация
 
1ые
1 / 1 / 0
Регистрация: 19.01.2013
Сообщений: 98
22.01.2013, 08:06     программа перескакивает определение элемента класса #1
Программа просто проскакивает date a();
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <time.h>
#include <vector>
#include <date.h>
using namespace std;
int main()
{
    int r = 0;
    date a();
    
    
    
    system("pause");
    return 0;
}
вот часть класса
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class date
{
public:
    date (void);
    date(int = 1, int = 1, int = 1990);
    date(int = 1, int = 1990);
    date(char *,int , int) ;
    void print() const;
    void print_DD_YYYY() const;
    void print_MMDDYYYY() const;
    void print_MOUNTH_DDYYYY() const;
private:
    static const char *m[12];
    int mounth;
    int day;
    int year;
    int checkday(int );
};
C++
1
2
3
4
5
6
7
date::date(void)
{
    time_t a;
    time(&a);
    struct tm * tut = localtime(&a);
    cout << tut->tm_hour;
}
Подскажите пожалуйста где ошибка.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.01.2013, 08:06     программа перескакивает определение элемента класса
Посмотрите здесь:

Определение члена класса C++
C++ Определение и реализация класса.
C++ Дайте определение класса
C++ Определение методов класса
C++ Определение методов шаблонного класса
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
0x10
2425 / 1597 / 232
Регистрация: 24.11.2012
Сообщений: 3,919
22.01.2013, 08:08     программа перескакивает определение элемента класса #2
В 10 строке не создание объекта, а объявление функции, которая имеет имя a, возвращает объект типа date и не принимает аргументов. Уберите круглые скобки.
1ые
1 / 1 / 0
Регистрация: 19.01.2013
Сообщений: 98
22.01.2013, 08:11  [ТС]     программа перескакивает определение элемента класса #3
теперь пишет что класс содержит более одного конструктора по умолчанию?
0x10
2425 / 1597 / 232
Регистрация: 24.11.2012
Сообщений: 3,919
22.01.2013, 08:14     программа перескакивает определение элемента класса #4
Так и есть:
C++
1
2
3
date (void);
date(int = 1, int = 1, int = 1990);
date(int = 1, int = 1990);
Вызов неоднозначен.
1ые
1 / 1 / 0
Регистрация: 19.01.2013
Сообщений: 98
22.01.2013, 08:28  [ТС]     программа перескакивает определение элемента класса #5
Значит нельзя создать конструктор по умолчанию который не принимает аргументов, если только он не будет единственным конструктором класса?Или просто я код не так написал?
0x10
2425 / 1597 / 232
Регистрация: 24.11.2012
Сообщений: 3,919
22.01.2013, 08:59     программа перескакивает определение элемента класса #6
Не стоит смешивать перегрузку и аргументы по умолчанию.
Варианта два: использовать несколько перегруженных функций, либо оставить одну с аргументами по умолчанию.
Yandex
Объявления
22.01.2013, 08:59     программа перескакивает определение элемента класса
Ответ Создать тему
Опции темы

Текущее время: 22:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru