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

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

Войти
Регистрация
Восстановить пароль
 
Sylar9
-20 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,931
Записей в блоге: 1
#1

Ошибка в классе - C++

19.05.2012, 16:08. Просмотров 396. Ответов 7
Метки нет (Все метки)

Не могу понять где ошибка
вот код:
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 <iostream>
using namespace std;
class time
{
  private:
          int chas;
          int min;
          int sek;
  public:
         time() : chas(0), min(0), sek(0)
         {}
         time(int c, int m, int s) : chas(c), min(m), sek(s)
         {}
       void show();
       void summ(time, time);
 
};
void time :: show()
{
  cout << "Âðåìÿ: ";
  cout << chas << "Г·Г*ñîâ " << min << " ìèГ*ГіГІ " << sek << " Г±ГҐГЄГіГ*Г¤" << endl;
  
}
void time :: summ(time t1, time t2)
{
  sek = t1.sek + t2.sek;
  if(sek > 60)
   {sek -= 60; min++;}
   min = t1.min + t2.min;
   if(min > 60)
   { min-=60; chas++; }
   chas = t1.chas + t2.chas;
}
int main()
{
    time t3;
    const time t1(2,36,20);
    const time t2(2,12,20);
    t1.show();
    cout << endl;
    t2.show();
    cout << endl;
    t3.summ(t1, t2);
    t3.show();
    cout << endl;
 
system("pause");
return 0;
}
Вот ошибки:
In function `int main()':
36 C:\Users\111\Desktop\Âðåìÿ.cpp expected `;' before "t3"
36 C:\Users\111\Desktop\Âðåìÿ.cpp [Warning] statement is a reference, not call, to function `time'
37 C:\Users\111\Desktop\Âðåìÿ.cpp `time' does not name a type
38 C:\Users\111\Desktop\Âðåìÿ.cpp `time' does not name a type
39 C:\Users\111\Desktop\Âðåìÿ.cpp `t1' undeclared (first use this function)
(Each undeclared identifier is reported only once for each function it appears in.)
41 C:\Users\111\Desktop\Âðåìÿ.cpp `t2' undeclared (first use this function)
43 C:\Users\111\Desktop\Âðåìÿ.cpp `t3' undeclared (first use this function)

Как єто исправить
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.05.2012, 16:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка в классе (C++):

Ошибка в классе - C++
#include &quot;Eliptic_arc.h&quot; void Eliptic_arc::set_val(char name, int val) { } int Eliptic_arc::get_val(char name) { ...

Ошибка в классе - C++
Добрый вечер! Кому не сложно помогите, пожалуйста, найти ошибку! Не правильно прибавляет вектора. ...

Ошибка в классе - C++
Доброго времени суток! Недавно прочитал тему классы, посмотрел и инете видео-урок и решил закрепить материал созданием класса. Films.h...

Ошибка в классе - C++
У меня есть класс Player и класс Poker Прототип Player class Player { protected: string name; int money; int...

Ошибка в классе - C++
Source.cpp: #include &quot;Str.h&quot; int main() { Str a; } Str.h:

Ошибка в классе - C++
Есть мойкласс. Когда создаю объект этого класса, проэкт не компилируется из-за ошибки: мойкласс does not name a type мойкласс...

7
grizlik78
Эксперт С++
1964 / 1457 / 119
Регистрация: 29.05.2011
Сообщений: 3,016
19.05.2012, 16:15 #2
Не стоит называть класс time.
0
antoha398
155 / 155 / 3
Регистрация: 29.03.2012
Сообщений: 418
19.05.2012, 16:15 #3
Вы неудачное имя для класса взяли.
http://liveworkspace.org/code/2ce336f3c3cb8a0c5b012f4ea6c0906e
0
grizlik78
Эксперт С++
1964 / 1457 / 119
Регистрация: 29.05.2011
Сообщений: 3,016
19.05.2012, 16:23 #4
Но если уж очень хочется, то можно его определить в собственном пространстве имён. И потом использовать его с префиксом.

Добавлено через 6 минут
Ещё функция show константной должна быть.
Например так:
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
50
51
52
53
54
55
56
57
58
#include <iostream>
 
namespace myspace
{
 
    class time
    {
        private:
            int chas;
            int min;
            int sek;
        public:
            time() : chas(0), min(0), sek(0)
            {}
            time(int c, int m, int s) : chas(c), min(m), sek(s)
            {}
            void show() const;
            void summ(time, time);
 
    };
 
    void time :: show() const
    {
        std::cout << "Время: ";
        std::cout << chas << "часов " << min << " минут " << sek << " секунд" << std::endl;
 
    }
    void time :: summ(time t1, time t2)
    {
        sek = t1.sek + t2.sek;
        if(sek > 60)
        {sek -= 60; min++;}
        min = t1.min + t2.min;
        if(min > 60)
        { min-=60; chas++; }
        chas = t1.chas + t2.chas;
    }
 
}
 
using namespace std;
 
int main()
{
    myspace::time t3;
    const myspace::time t1(2,36,20);
    const myspace::time t2(2,12,20);
    t1.show();
    cout << endl;
    t2.show();
    cout << endl;
    t3.summ(t1, t2);
    t3.show();
    cout << endl;
 
    system("pause");
    return 0;
}
1
Sylar9
-20 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,931
Записей в блоге: 1
19.05.2012, 16:42  [ТС] #5
grizlik78, а что такое namespace myspace
0
grizlik78
Эксперт С++
1964 / 1457 / 119
Регистрация: 29.05.2011
Сообщений: 3,016
19.05.2012, 16:43 #6
Объявление пространства имён с именем myspace. Подобно тому, как стандартные классы и функции помещены в пространство имён std
0
Sylar9
-20 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,931
Записей в блоге: 1
19.05.2012, 17:11  [ТС] #7
Цитата Сообщение от grizlik78 Посмотреть сообщение
Объявление пространства имён с именем myspace. Подобно тому, как стандартные классы и функции помещены в пространство имён std
Это просто пишешь myspace и можно создавать класс с такими именинами как string time и т.д
0
grizlik78
Эксперт С++
1964 / 1457 / 119
Регистрация: 29.05.2011
Сообщений: 3,016
19.05.2012, 17:16 #8
Да. Ключевое слово namespace, а вместо myspace можно выбрать какое-нибудь своё имя. Но ко всему, что определяется внутри пространства имён myspace извне обращаться придётся с префиксом myspace::
0
19.05.2012, 17:16
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.05.2012, 17:16
Привет! Вот еще темы с ответами:

Ошибка в классе - C++
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;string&gt; using namespace std; class Element { public: ...

Ошибка в классе - C++
#pragma once #include &lt;iostream&gt; using namespace std; class Drob { private: int num; unsigned int den; int Drob::GCD(int...

Ошибка перегрузки + в классе - C++
Не понимаю в чём проблема, ошибка возникает во время работы программы, сообщает что продолжается запись после работы этого блока. ...

Необычная ошибка в классе - C++
class cPolygon { public: cPolygon() : head_(0) {}; void add_dott(POINT); ...


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

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

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