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

class Point - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ создание фигур http://www.cyberforum.ru/cpp-beginners/thread351060.html
создать фигуры треугольник, квадрат и прямоугольник, используя класс точка, фигуры вывести на экран mfc, помогите пожалуйсто с классом фигура что и как пишется #include "iostream" #include...
C++ Структуры: Организовать базу данных для спортивного клуба Организовать базу данных для спортивного клуба со следующей информацией про штангистов: – ФИО; – дата рождения (дд:мм:рррр); – вес. Вывести на экран список спортсменов, отсортированный по весовым... http://www.cyberforum.ru/cpp-beginners/thread351057.html
C++ Сортировка файлов
Здравствуйте уважаемые форумчане)) С праздником Вас... Вот кто нибудь подскажет как сортируются файлы? методы Трех ленточную мне двли и БМ(Боура моура) Вот у кого может пример есть? на СИ\С++\С#...
графические объекты C++
разработать два варианта программы, реализующей движущийся графический объект в соответствии с индивидуальным заданием: - с использованием статического объекта; - с использованием динамического...
C++ Добавить в конец списка L1 все элементы списка L2 http://www.cyberforum.ru/cpp-beginners/thread351037.html
Разработать программу обработки односвязных линейных списков с числом элементов в списке не менее пяти в соответствии с индивидуальным заданием. Задание: Добавить в конец списка L1 все элементы...
C++ обработка массивов используя технологию структурного программирования, разработать программу обработки одномерных и двумерных (матриц) массивов в соответствии с индивидуальным заданием Задание: 1) Дан вещественный... подробнее

Показать сообщение отдельно
Сыроежка
Заблокирован
13.09.2011, 18:12
Цитата Сообщение от 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
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru