Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
grrrrr
45 / 45 / 7
Регистрация: 21.04.2009
Сообщений: 265
#1

что то не так с компилятором? - C++

24.06.2011, 11:52. Просмотров 1298. Ответов 17
Метки нет (Все метки)

есть класс, который переписан с книги Лафоре Р.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <cstdlib>
#include <iostream>
#include <conio.h>
 
class time
{
      private:
              int hrs, mins, secs;
      public:
             time() : hrs(0), mins(0), secs(0)
             {}
             time(int h, int m, int s) : hrs(h), mins(m), secs(s)
             {}
             void display();
             void add_time(time t1, time t2);             
};
 
void time::display()
{
     std::cout << hrs << ":" << mins << ":" << secs << "\n";
}
void time::add_time(time t1, time t2)
{
     secs = t1.secs + t2.secs;
     if(secs > 59)
     {
             secs = secs - 60;
             mins++;
     }
     mins = t1.mins + t2.mins;
     if(mins > 59)
     {
             mins = mins - 60;
             hrs++;
     }
     hrs = t1.hrs + t2.hrs;
}
 
int main(int argc, char *argv[])
{
    time time1(5, 59, 59);
    time time2(4,30,30);
    time time3;
    time3.add_time(time1, time2);
    std::cout << "time3 = " << time3.display;
    
    system("PAUSE");
    return EXIT_SUCCESS;
}
ошибки:

\projects\1\new.cpp expected `;' before "time1"
\projects\1\new.cpp [Warning] statement is a reference, not call, to function `time'
\projects\1\new.cpp expected `;' before "time2"
.
.
.
что не так??
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.06.2011, 11:52
Здравствуйте! Я подобрал для вас темы с ответами на вопрос что то не так с компилятором? (C++):

Как сделать так чтоб работало? Что с компилятором? - C++
ошибка: No such file or directory #include &lt;iostream&gt; using namespace std; int main() {const int n=15; int i;double...

что с Компилятором - C++
привет) я конечно понимаю что вопрос нубский но всетаки:p у меня есть 2 компилятора VC++ 5.0 VC++ 6.0 бывает я компилю ,а он раз и как-бы...

что-то с компилятором - C++
Кончилась пробная версия вижуал студио 2012, я не знал что можно продлить её и начал качать другую, устанавливал и прервал.. короче после...

Что-то с компилятором... Наверное... - C++
# include &lt;iostream&gt; using namespace std; int main(){ int n,a=0,b=0,c=0,t=0; cin&gt;&gt;n; int j=n,i=n/2; while (j&gt;0){ ...

есть ошибки в программе, может что то с компилятором у меня, подскажите пожалуйста. - C++
Программа для решения обычных уравнений методом адамса, не работает.... 3 ошибки здесь: #include &lt;math.h&gt; #include &lt;stdio.h&gt; const...

Как сделать так что я мог умножать не на два числа а на 3,4,5 и так далее? - C++
Вот код: #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; int main(){ float a,c; char b; skip: ...

17
co6ak
Кошковед
409 / 502 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
24.06.2011, 11:53 #2
....
а код ?
0
grrrrr
45 / 45 / 7
Регистрация: 21.04.2009
Сообщений: 265
24.06.2011, 12:04  [ТС] #3
co6ak, см. выше
0
co6ak
Кошковед
409 / 502 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
24.06.2011, 12:09 #4
C++
1
2
    std::cout << "time3 = ";
    time3.display();
работает

Добавлено через 42 секунды
получалось
cout << "time3 = " << cout <<.....
1
grrrrr
45 / 45 / 7
Регистрация: 21.04.2009
Сообщений: 265
24.06.2011, 12:13  [ТС] #5
то же самое, а вообще мне кажется что у меня проблемы с конструктором - т.к. почему то ругается на первую строку после main()
0
co6ak
Кошковед
409 / 502 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
24.06.2011, 12:15 #6
хз.
попробуй конструктор по умолчанию задать как
time( int =0, int =0, int =0);
без скобок фигурных всяких. наф они не нужны там.
0
grrrrr
45 / 45 / 7
Регистрация: 21.04.2009
Сообщений: 265
24.06.2011, 12:23  [ТС] #7
в книге автор рекомендует именно со скобочками , хотя после рекомендации он почему то не аргументировал такое решение.
0
oxotnik
1591 / 1068 / 33
Регистрация: 21.08.2008
Сообщений: 4,545
Записей в блоге: 1
24.06.2011, 12:28 #8
в отдельные файлы определение и реализацию класса вынеси
0
Jupiter
Каратель
Эксперт С++
6559 / 3980 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
24.06.2011, 12:32 #9
grrrrr, ошибка в 45-й строке

Цитата Сообщение от grrrrr Посмотреть сообщение
в книге автор рекомендует именно со скобочками
и правильно делает, если конструктор пустой, чтобы сразу было видно что он пустой

Добавлено через 24 секунды
да и conio.h здесь нафиг не нужен
1
grrrrr
45 / 45 / 7
Регистрация: 21.04.2009
Сообщений: 265
24.06.2011, 12:55  [ТС] #10
и еще вопрос - по классам. При объявлении класса, авторы книг иногда описывают сначала закрытые, а потом открытые элементы или наоборот. Я так понимаю , что разницы нет?
0
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,544
Завершенные тесты: 3
24.06.2011, 13:19 #11
grrrrr, нету
0
grizlik78
Эксперт С++
1966 / 1459 / 120
Регистрация: 29.05.2011
Сообщений: 3,018
24.06.2011, 13:23 #12
grrrrr, разницы нет, но в начале класса можно не писать private: а в начале структуры можно не писать public: так как они подразумеваются по умолчанию.
0
grrrrr
45 / 45 / 7
Регистрация: 21.04.2009
Сообщений: 265
24.06.2011, 13:28  [ТС] #13
ForEveR, ну я так и думал.
а теперь скажите, почему у меня эта прога не компилируется? Только что, разбил на файлы как посоветовал охотник, компилировал в wxDev-cpp.

1.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <cstdlib>
#include <iostream>
 
int main(int argc, char *argv[])
{    
    time time1(5, 59, 59);
    time time2(4,30,30);
    time time3;
    time3.add_time(time1, time2);
    std::cout << "time3 = " << time3.display;
    
    system("PAUSE");
    return EXIT_SUCCESS;
}
time1.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#ifndef TIME1_H
#define TIME1_H
 
class time
{
      private:
              int hrs, mins, secs;
      public:
            
             time() : hrs(0), mins(0), secs(0)
             {}
             time(int h, int m, int s) : hrs(h), mins(m), secs(s)
             {}
             void display();
             void add_time(time t1, time t2);             
};
 
#endif
time1.cpp

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include "time1.h"
 
void time::display()
{
     std::cout << hrs << ":" << mins << ":" << secs << "\n";
}
void time::add_time(time t1, time t2)
{
     secs = t1.secs + t2.secs;
     if(secs > 59)
     {
             secs = secs - 60;
             mins++;
     }
     mins = t1.mins + t2.mins;
     if(mins > 59)
     {
             mins = mins - 60;
             hrs++;
     }
     hrs = t1.hrs + t2.hrs;
}
может кто подскажет? Ну или у кого компилируется, напишите какой у вас компилятор.
ЗЫ. Пробовал компилировать другие проекты с классами- все норм.
0
grizlik78
Эксперт С++
1966 / 1459 / 120
Регистрация: 29.05.2011
Сообщений: 3,018
24.06.2011, 13:33 #14
time1.h надо подключать во всех модулях .cpp, где используется класс time

Добавлено через 1 минуту
Ну и ошибка в строке 10 файла 1.cpp так и не была исправлена
1
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,544
Завершенные тесты: 3
24.06.2011, 13:34 #15
Не советую я так класс называть. Или в namespace хоть завертывайте.
2
24.06.2011, 13:34
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.06.2011, 13:34
Привет! Вот еще темы с ответами:

Что в коде ни так? while не работает так, как ожидаю - C++
Написанный код, как я думаю, должен выдавать цифры от 0 до 1000, столбиком. Но выдает начиная от 702 до 1000. Что ни так понимаю, где...

Что-то не то с Майкрсофт визуал студио 2010 или я что-то не так делаю - C++
Дело в том что при запуске вот этой программы: #include &lt;iostream&gt; using namespace std; int main () { for (int i=100; i&lt;=999;...

Что в программе делает так, что процессор грузится на 100%? - C++
Я не очень разбираюсь в С++, поэтому прошу вашей подсказки по поводу нагрузки на процессор. Вот код программы, на компьютере жрет всю...

Список: Что не так с выводом списка, потому что выводится какой-то мусор? - C++
#include &lt;iostream&gt; using namespace std; struct point { int data;//информационное поле-это даннные объявленного или используемого...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru