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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 37, средняя оценка - 4.95
ramarren14
2 / 2 / 0
Регистрация: 14.07.2011
Сообщений: 49
#1

class Point - C++

13.09.2011, 16:48. Просмотров 5903. Ответов 4
Метки нет (Все метки)

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
#include<iostream>
#include<math.h>
#include<stdlib.h>
 
using namespace std;
 
class Point
{
    Point(float,float);
    ~Point(){}
    float GetX() const {return itsx;}
    float GetY() const {return itsy;}
    float Len(Point,Point) const;
    Point operator+(const Point &);
    Point operator-(const Point &);
private:
    float itsx;
    float itsy;
};
 
Point::Point(float initial_x,float initial_y)
{
itsx=initial_x;
itsy=initial_y;
}
 
float Point::Len(Point p1,Point p2) const
{
    return sqrt((p2.GetX()-p1.GetX())*(p2.GetX()-p1.GetX())+(p2.GetY()-p1.GetY())*(p2.GetY()-p1.GetY()));
}
 
Point Point::operator+(const Point & rhs)
{
    return Point(itsx+rhs.GetX(),itsy+rhs.GetY());
}
 
Point Point::operator-(const Point & rhs)
{
    return Point(itsx-rhs.GetX(),itsy-rhs.GetY());
}
 
 
 
 
 
 
int main()
{ 
    Point a(2,3);
    Point b(4,5);
    Point c;
    c=a+b;
    cout<<c.GetX()<<c.GetY();
    cout<<Len(a,b);
    return 0;
}
Программа упорно не компилируется. Выдает see declaration of 'Point'. В чем ошибка?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.09.2011, 16:48
Здравствуйте! Я подобрал для вас темы с ответами на вопрос class Point (C++):

Exception class overflow with message floating point overflow - C++
Прощу вашего совета в строке кода RxSpinEdit-&gt;Value=Step * (MyRound(RxSpinEdit-&gt;Value*Koef/Step)); функция MyRound int...

Разъясните код пжлст(выдает ошибку:cannot convert from 'class std::list<class c_bullet *,class std::allocator<class c_bullet *> >::iterator' to 'int') - C++
Есть такие строки: std::list&lt;c_bullet*&gt; Bullets; ... for(auto i = Bullets.begin(); i != Bullets.end(); /**/) В строке цикла вот...

Работа с class ами. Заполнение дин. массива типа class - C++
Всем доброго времени суток! Это моя первая тема на этом сайте, поэтому если что извините меня (за неточности итд итп). Мне нужно...

Нужно объект типа класс проинициализировать с помощью перегруженного конструктора Class::Class( bool a ) - C++
Плиз помогите. Не знал, что я такой чайник.) Итак: есть два класса: CMyClass.h CMyClass.cpp и

Create a programm that creates an object of created class Time and tests the member functions of class - C++
Time Class Create a class called Time that might be used to represent time. 1. Your class should include three data...

enum и class как составляющие другого class - C++
Как организовать ввод enuma с клавиатуры (51-я строка)? Как прикрепить класс date к employee в private? :wall: #include &lt;iostream&gt; ...

4
ForEveR
В астрале
Эксперт С++
7979 / 4738 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
13.09.2011, 16:52 #2
ramarren14, Конструктора без параметров не наблюдаю. Компилятор видимо тоже
0
ramarren14
2 / 2 / 0
Регистрация: 14.07.2011
Сообщений: 49
13.09.2011, 17:16  [ТС] #3
Цитата Сообщение от ForEveR Посмотреть сообщение
ramarren14, Конструктора без параметров не наблюдаю. Компилятор видимо тоже
А зачем он?
0
ForEveR
В астрале
Эксперт С++
7979 / 4738 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
13.09.2011, 17:19 #4
C++
1
        Point c;
А что здесь вызывается как думаешь?
0
Сыроежка
Заблокирован
13.09.2011, 18:12 #5
Цитата Сообщение от ramarren14 Посмотреть сообщение
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
#include<iostream>
#include<math.h>
#include<stdlib.h>
 
using namespace std;
 
class Point
{
    Point(float,float);
    ~Point(){}
    float GetX() const {return itsx;}
    float GetY() const {return itsy;}
    float Len(Point,Point) const;
    Point operator+(const Point &);
    Point operator-(const Point &);
private:
    float itsx;
    float itsy;
};
 
Point::Point(float initial_x,float initial_y)
{
itsx=initial_x;
itsy=initial_y;
}
 
float Point::Len(Point p1,Point p2) const
{
    return sqrt((p2.GetX()-p1.GetX())*(p2.GetX()-p1.GetX())+(p2.GetY()-p1.GetY())*(p2.GetY()-p1.GetY()));
}
 
Point Point::operator+(const Point & rhs)
{
    return Point(itsx+rhs.GetX(),itsy+rhs.GetY());
}
 
Point Point::operator-(const Point & rhs)
{
    return Point(itsx-rhs.GetX(),itsy-rhs.GetY());
}
 
 
 
 
 
 
int main()
{ 
    Point a(2,3);
    Point b(4,5);
    Point c;
    c=a+b;
    cout<<c.GetX()<<c.GetY();
    cout<<Len(a,b);
    return 0;
}
Программа упорно не компилируется. Выдает see declaration of 'Point'. В чем ошибка?
Помимо того, что у вас нет конструктора по умолчанию, чтобы компилятор мог определить ваш объект 'c' в строке

C++
1
Point c;
Я бы вам посоветовал координаты самой точки сделать открытыми, как это сделано во всех профессиональных библиотеках класса Point. То есть не нужны никакие методы доступа! Лучше, когда обращение происходит просто
C++
1
cout<<c.x<<c.y;
вместо
C++
1
cout<<c.GetX()<<c.GetY();
0
13.09.2011, 18:12
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.09.2011, 18:12
Привет! Вот еще темы с ответами:

vector<[class]> in class и перегрузка (ostream) - C++
Доброе всем время суток ) столкнулся с проблемой Есть у меня несколько классов и есть класс внутри которого созданы векторы хранящие...

Объяснить причины ошибки "Extra qualification 'CLASS CONSTRUCTOR' and 'CLASS' has incomplete type" - C++
Согласно синтаксису, вроде все правильно, но ошибка... что не так? Ошибки компилятора ниже на рисунке... #include &lt;iostream&gt; ...

Не пойму конструкцию template <template <class T> class X> - C++
Что это за шаблон такой?

Friend template class with template class argument - C++
Помогите подружить 2 класса: Имеется класс Student: template &lt;class _T&gt; class Faculty; class Student{ friend...


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

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

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