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

Найти ошибку - C++

Восстановить пароль Регистрация
 
Aecttann
 Аватар для Aecttann
6 / 6 / 0
Регистрация: 19.10.2013
Сообщений: 274
12.04.2014, 15:30     Найти ошибку #1
Помогите найти ошибки в коде файла реализации.

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
//файл реализации
 
#include "point.h"
#include "iostream"
 
using namespace std;
 
Point :: Point (int x1, int y1)
 
{
x = x1; //реализация
y = y1;
}
 
int Point :: getX ()
 
{
    return X;   //реализация
}
 
int Point :: getY ()
 
{
    return Y;   //реализация
}
 
void Point :: move (int xn; int yn)
{
    x = xn;
    y = yn;
}
 
void Point :: print()
 
{
    cout << "(" << x << ", " << y << ")";
}
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BlackSpace
135 / 128 / 50
Регистрация: 15.03.2014
Сообщений: 275
12.04.2014, 15:33     Найти ошибку #2
X и x - разные переменные.
Y и y тоже.

C++
1
2
3
...
void Point :: move (int xn, int yn) // вместо ; надо ,
...
Файл заголовка тоже надо было показать.
Aecttann
 Аватар для Aecttann
6 / 6 / 0
Регистрация: 19.10.2013
Сообщений: 274
12.04.2014, 15:50  [ТС]     Найти ошибку #3
BlackSpace, так:
Кликните здесь для просмотра всего текста
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
//файл реализации
 
#include "point.h"
#include "iostream"
 
using namespace std;
 
Point :: Point (int x1, int y1)
 
{
x = x1; //реализация
y = y1;
}
 
int Point :: getx()
 
{
    return x;   //реализация
}
 
int Point :: gety ()
 
{
    return y;   //релизация
}
 
void Point :: move (int xn, int yn)
{
    x = xn;
    y = yn;
}
 
void Point :: print()
 
{
    cout << "(" << x << ", " << y << ")";
}

?

Файл заголовка тоже надо было показать.
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//интерфейс класса
 
#ifndef POINT_H //директивы препроцессора, проверяющие определённый файл или нет
#define POINT_H
 
    class Point
    {
    private:
        int x, y;
 
    public:
        Point (int x1 = 0, int y1 = 0);
 
        int getX(); //методы доступа х и у;
        int getY();
 
        void move (int xn, int yn);  //метод move - перемещение точки в новые заданные коррдинаты
 
        void print ();  //метод вывода координат на экран
    };
 
#endif // POINT_H


Добавлено через 9 минут
файл с главной функцией:
Кликните здесь для просмотра всего текста
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
#include "point.h"
#include <iostream>
 
using namespace std;
 
int main()
{
setlocale(LC_ALL, "RUS");
 
Point p1(40,50);
Point p2;
 
p1.print();
p2.print()
;
p1.move (10, 20);
p2.move (30, 40);
 
p1.print();
p2.print();
 
cout << "Абсцисса 1й точки: "<< p1.getX()<<endl;
cout << "Ордината 2й точки: "<< p2.getY()<<endl;
 
return 0;
}
BlackSpace
135 / 128 / 50
Регистрация: 15.03.2014
Сообщений: 275
12.04.2014, 16:02     Найти ошибку #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Внес немного изменений в Ваш код.
point.h
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#ifndef POINT_H //директивы препроцессора, проверяющие определённый файл или нет
#define POINT_H
 
class Point {
private:
    int x, y;
 
public:
    Point( int x1 = 0, int y1 = 0 );
 
    int getx(); //методы доступа х и у; getX() и getx() РАЗНЫЕ НАЗВАНИЯ МЕТОДОВ
    int gety();
 
    void move( int xn, int yn ); //метод move - перемещение точки в новые заданные коррдинаты
 
    void print(); //метод вывода координат на экран
};
 
#endif  // POINT_H


point.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
24
25
26
27
28
29
30
31
32
33
34
#include "point.h"
#include <iostream>
 
using namespace std;
 
Point::Point( int x1, int y1 )
 
{
    x = x1; //реализация
    y = y1;
}
 
int Point::getx()
 
{
    return x; //реализация
}
 
int Point::gety()
 
{
    return y; //релизация
}
 
void Point::move( int xn, int yn ) {
    x = xn;
    y = yn;
}
 
void Point::print()
 
{
    cout << "(" << x << ", " << y << ")";
}


main.cpp
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include "Point.h"
using namespace std;
 
int main() {
    Point p( 1, 2 );
    cout << "x = " << p.getx() << " y = " << p.gety() << endl;
 
    p.move( 3, 4 );
    p.print();
 
    return 0;
}
Aecttann
 Аватар для Aecttann
6 / 6 / 0
Регистрация: 19.10.2013
Сообщений: 274
12.04.2014, 16:12  [ТС]     Найти ошибку #5
BlackSpace, большое спасибо за помощь и объяснения.
Yandex
Объявления
12.04.2014, 16:12     Найти ошибку
Ответ Создать тему
Опции темы

Текущее время: 15:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru