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

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

Войти
Регистрация
Восстановить пароль
 
sergIKO
4 / 4 / 1
Регистрация: 20.01.2010
Сообщений: 91
#1

Имя класса - C++

22.01.2010, 12:06. Просмотров 416. Ответов 5
Метки нет (Все метки)

Проблема в следующем: почему при имени класса "distance" программа отказывается работать?как только я меняю имя класса,например убираю последнюю букву, все запускается. Неужели на работоспособность программы влияет конкретное имя?! ерунда какая-то
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
#include <iostream>
#include <conio.h>
using namespace std;
 
class distance
{
private:
    int feet;
    float inches;
public:
    distance(): feet(0),inches(0.0)
    {}
    distance(int ft,float in): feet(ft),inches(in)
    {}
    void showdist()
    {
        cout<<feet<<"\' "<<inches<<"\""<<endl;
    }
};
int main()
{
    distance d1;
    distance d2(4,3.45f);
    d1.showdist();
    d2.showdist();
    getch();
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.01.2010, 12:06     Имя класса
Посмотрите здесь:

При перегрузке оператора для класса не получается использовать имя переменной такое же, как в описании класса - C++
Описал первый класс,затем - описал второй класс, используя первый,и когда начал перезагружать оператор для второго класса, вылезла...

Определить имя класса - C++
Добрый день. Как определить на этапе компиляции класс имя класса, которое передается в качестве аргумента шаблонной функции? ...

Вывести на экран имя класса - C++
Можно как нибуть форматнуть в string имя класса? class HelloWorld { public: string s; void view(){ cout &lt;&lt; s &lt;&lt;...

Имя экземпляра объекта внутри класса на С++ - C++
Добрый день. Подскажите, пожалуйста, как узнать имя экземпляра объекта внутри класса на С++ ? В частности, мне надо имя экземпляра...

Как узнать имя экземпляра класса? - C++
у меня есть класс polynom, я создаю его экземпляры polynom a(5), b(5), c(5); как мне программно узнать имя экземпляра класса?

Зачем пишется имя класса перед шаблоном? - C++
#include &lt;iostream&gt; template &lt;typename T&gt; class Grid { public: Grid(int mWidth = kDefaultWidth, int mHeight =...

Не использовать имя класса при его реализации - C++
Из-за того, что не смог грамотно сформулировать свой вопрос, не нашел ничего в гугле :( Поэтому объясню на примере: Допустим, есть...

Функция, имя которой совпадает с именем класса - C++
Вот например ... class e { int a; float b; public: //И здесь функция, имя которой равняется имени...

Зачем функции дают тип возврата - имя класса? - C++
Думаю вы по названию не поняли, так вот. Допустим я объявил класс Car. Читаю учебник и вижу там такое: Car *Function(....); Что это...

Разработка класса: Abiturient: Фамилия, Имя, Отчество, Адрес, Оценки - C++
разработать класс включая в метод Set и Get определить другие методы. Написать программу демонстрирующую работу с этим классом. ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Genius Ignat
1235 / 773 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
22.01.2010, 12:08     Имя класса #2
e - если написана на русском ошибка по любому.
CheshireCat
Эксперт С++
2892 / 1241 / 78
Регистрация: 27.05.2008
Сообщений: 3,353
22.01.2010, 12:10     Имя класса #3
Что значит "отказывается работать" ??? Как именно отказывается?
Hint: в пространстве имен std тоже есть функция distance...... если дело в этом, то вот вред повсеместного использования using namespace std;
Rififi
2338 / 1053 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
22.01.2010, 12:13     Имя класса #4
CheshireCat,

Hint: в пространстве имен std тоже есть функция distance...... если дело в этом, то вот вред повсеместного использования using namespace std;

Фишка в том, что студни кроме cin/cout больше ничего не используют, а имена функций пишут транскрипцией на латинице, поэтому им можно
sergIKO
4 / 4 / 1
Регистрация: 20.01.2010
Сообщений: 91
22.01.2010, 12:27  [ТС]     Имя класса #5
Цитата Сообщение от Genius Ignat Посмотреть сообщение
e - если написана на русском ошибка по любому.
да нет, на английском

Цитата Сообщение от CheshireCat Посмотреть сообщение
Что значит "отказывается работать" ??? Как именно отказывается?
Hint: в пространстве имен std тоже есть функция distance...... если дело в этом, то вот вред повсеместного использования using namespace std;
>h:\documents and settings\администратор\мои документы\visual studio 2008\projects\objects\main.cpp(22) : error C2872: distance: неоднозначный символ
1> может быть 'h:\documents and settings\администратор\мои документы\visual studio 2008\projects\objects\main.cpp(6) : distance'
1> или 'h:\program files\microsoft visual studio 9.0\vc\include\xutility(1881) : iterator_traits<_Iter>::difference_type std::distance(_InIt,_InIt)'
1>h:\documents and settings\администратор\мои документы\visual studio 2008\projects\objects\main.cpp(23) : error C2872: distance: неоднозначный символ
1> может быть 'h:\documents and settings\администратор\мои документы\visual studio 2008\projects\objects\main.cpp(6) : distance'
1> или 'h:\program files\microsoft visual studio 9.0\vc\include\xutility(1881) : iterator_traits<_Iter>::difference_type std::distance(_InIt,_InIt)'

Изменил distance на Distance - заработало.Похоже Вы правы спасибо
CheshireCat
Эксперт С++
2892 / 1241 / 78
Регистрация: 27.05.2008
Сообщений: 3,353
22.01.2010, 13:40     Имя класса #6
iterator_traits<_Iter>::difference_type std::distance(_InIt,_InIt) - это и есть та самая функция distance. Короче, старайся не использовать using namespace std; Пространства имен не так просто придуманы. Если бы ты написал правильно, ошибка бы даже не возникла.
Yandex
Объявления
22.01.2010, 13:40     Имя класса
Ответ Создать тему
Опции темы

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