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

Объявление класса Point - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Передать указатель метода в функцию С++ http://www.cyberforum.ru/cpp-beginners/thread1139616.html
Пишу простейшее сетевое приложение. Оформил всё в одном классе. Далее подключил этот класс к диалоговому. Есть некоторая функция: void transmit::dispatcher_handler(u_char *param,const struct pcap_pkthdr *header, const u_char *packet); Находится она в классе transmit. Объявил объект Mytransmit в диалоговом классе. Есть также функция:
C++ В одномерном массиве, состоящем из n вещественных элементов, вычислить количество отрицательных элементов массива В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1) количество отрицательных элементов массива; 2) сумму модулей элементов массива, расположенных после минимального по модулю элемента. Просьба помочь. :( http://www.cyberforum.ru/cpp-beginners/thread1139612.html
C++ Напишите программу для расчёта по двум формулам
z1 = 2sin^2(3pi - 2a)cos^2(5pi+2a) z2 = 1/4 - 1/4sin(5/2pi -8a) #include <stdio.h> #include <iostream> #include <conio.h> #include <math.h> #define pi 3.14159265
C++ Очередь
Реализуйте структуру данных "очередь" на основе циклического массива или другим способом. Входные данные В каждой строке входных данных стоит либо команда PUSH и целое число через пробел, если элемент нужно поместить в очередь, либо команда POP, если нужно удалить очередной элемент из очереди. Максимальное количество элементов, одновременно находящихся в очереди, не превышает 100 тысяч....
C++ Проверка на скобки http://www.cyberforum.ru/cpp-beginners/thread1139579.html
С клавиатуры вводится строка, представляющая собой арифметическое выражение, в котором встречается несколько видов скобок - круглые, квадратные, фигурные. Необходимо проверить, правильно ли расставлены скобки, т.е. каждой открывающей скобке должна соответствовать такая же точно закрывающая. Пример правильной расстановки: (){()}. Примеры неправильных расстановок: (, ((()) Исходные данные:...
C++ Обратный корень Исходные данные Входной поток содержит набор целых чисел Ai (0 ≤ Ai ≤ 1018), отделённых друг от друга произвольным количеством пробелов и переводов строк. Размер входного потока не превышает 256 КБ. Результат Для каждого числа Ai, начиная с последнего и заканчивая первым, в отдельной строке вывести его квадратный корень не менее чем с четырьмя знаками после десятичной точки. подробнее

Показать сообщение отдельно
zero-11
 Аватар для zero-11
0 / 0 / 0
Регистрация: 21.03.2014
Сообщений: 56
08.04.2014, 15:42  [ТС]     Объявление класса Point
Сделал! Вот привожу рабочий исходник:

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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
#include <iostream>
using namespace std;
class Point 
{
public:
    void setX(int x) { itsX = x; }
    void setY(int y) { itsY = y; }
    int GetX() const { return itsX; }
    int GetY() const { return itsY; }
private:
    int itsX;
    int itsY;
 
    int GetArea() const;
};
 
class MyRectangle
{
public:
   MyRectangle(int top, int left, int bottom, int right)
    {
        itsTop    = top;
        itsLeft   = left;
        itsBottom = bottom;
        itsRight  = right;
   
    itsUpperLeft.setX(left);
    itsUpperLeft.setY(top);
 
    itsUpperRight.setX(right);
    itsUpperRight.setY(top);
 
    itsLowerLeft.setX(left);
    itsLowerLeft.setX(bottom);
 
    itsLowerRight.setX(right);
    itsLowerRight.setY(bottom);
   
   }
   ~MyRectangle()
     {
       itsTop = 0;
       itsLeft = 0;
       itsBottom = 0;
       itsRight = 0;
   };
    
   int GeTop() const { return itsTop; }
   int GetLeft() const { return itsLeft;}
   int GetBottom() const { return itsBottom;}
   int GetRight() const { return itsRight;}
    
 
   Point GetUpperLeft () const { return itsUpperLeft; }
   Point GetLowerLeft () const { return itsLowerLeft; }
   Point GetUpperRight () const { return itsUpperRight;}
   Point GetLowerRight () const { return itsLowerRight;}
 
   void SetUpperleft(Point Location)
   { itsUpperLeft = Location;}
   void SetLowerLeft(Point Location)
   { itsLowerLeft = Location;}
   void SetUpperRight(Point Location)
   { itsUpperRight = Location;}
   void SetLowerRight(Point Location)
   { itsLowerRight = Location;}
 
 
 
    void SetTop (int top)               { itsTop = top; }
    void Setleft (int left)             { itsLeft = left; }
    void SetBottom(int bottom)          { itsBottom = bottom;}
    void SetRight(int right)            { itsRight = right; }
 
    int GetArea() const;
 
    int GetX();
    
private:
    Point itsUpperLeft;
    Point itsUpperRight;
    Point itsLowerLeft;
    Point itsLowerRight;
    int itsTop;
    int itsLeft;
    int itsBottom;
    int itsRight;
 
 
};
 
class GetArea
{
public:
    int itsX;
    int itsY;
 
    void setX (int x) { itsX=x; }
    void setY (int y) { itsY=y; }
    int GetX() const { return itsX;}
    int GetY() const { return itsY;}
};
Код
// Rectangle.cpp: определяет точку входа для консольного приложения.
//

#include "stdafx.h"
#include <iostream>
#include "Rectangle.h"
	



int MyRectangle::GetArea() const
{
	int Width = itsRight - itsLeft;
	int Height = itsTop - itsBottom;
	return ( Width * Height );
}

int main()
{
MyRectangle Rectangle( 100, 20, 50, 80 );

	int Area = Rectangle.GetArea();


	std::cout << "Area: " << Area ;
	std::cout << "Upper Left X Coordinate: ";
	std::cout << Rectangle.GetUpperLeft().GetX();
	system("PAUSE");
}
Добавлено через 17 минут
Неверно был объявлен конструктор - он должен был полностью объявляться в классе и инициализировать функции-члены класса - а функции доступа были объявлены повторно в реализации данного класса:

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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
Rectangl.h
#include <iostream>
using namespace std;
class Point 
{
public:
    void setX(int x) { itsX = x; }
    void setY(int y) { itsY = y; }
    int GetX() const { return itsX; }
    int GetY() const { return itsY; }
private:
    int itsX;
    int itsY;
 
    int GetArea() const;
};
 
class MyRectangle
{
public:
   MyRectangle(int top, int left, int bottom, int right)
    {
        itsTop    = top;
        itsLeft   = left;
        itsBottom = bottom;
        itsRight  = right;
   
    itsUpperLeft.setX(left);
    itsUpperLeft.setY(top);
 
    itsUpperRight.setX(right);
    itsUpperRight.setY(top);
 
    itsLowerLeft.setX(left);
    itsLowerLeft.setX(bottom);
 
    itsLowerRight.setX(right);
    itsLowerRight.setY(bottom);
   
   }
   ~MyRectangle()
     {
       itsTop = 0;
       itsLeft = 0;
       itsBottom = 0;
       itsRight = 0;
   };
    
   int GeTop() const { return itsTop; }
   int GetLeft() const { return itsLeft;}
   int GetBottom() const { return itsBottom;}
   int GetRight() const { return itsRight;}
    
 
   Point GetUpperLeft () const { return itsUpperLeft; }
   Point GetLowerLeft () const { return itsLowerLeft; }
   Point GetUpperRight () const { return itsUpperRight;}
   Point GetLowerRight () const { return itsLowerRight;}
 
   void SetUpperleft(Point Location)
   { itsUpperLeft = Location;}
   void SetLowerLeft(Point Location)
   { itsLowerLeft = Location;}
   void SetUpperRight(Point Location)
   { itsUpperRight = Location;}
   void SetLowerRight(Point Location)
   { itsLowerRight = Location;}
 
 
 
    void SetTop (int top)               { itsTop = top; }
    void Setleft (int left)             { itsLeft = left; }
    void SetBottom(int bottom)          { itsBottom = bottom;}
    void SetRight(int right)            { itsRight = right; }
 
    int GetArea() const;
 
    
    
private:
    Point itsUpperLeft;
    Point itsUpperRight;
    Point itsLowerLeft;
    Point itsLowerRight;
    int itsTop;
    int itsLeft;
    int itsBottom;
    int itsRight;
 
 
};
Rectangle.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
// Rectangle.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
#include "Rectangle.h"
    
 
 
 
int MyRectangle::GetArea() const
{
    int Width = itsRight - itsLeft;
    int Height = itsTop - itsBottom;
    return ( Width * Height );
}
 
int main()
{
MyRectangle Rectangle( 100, 20, 50, 80 );
 
    int Area = Rectangle.GetArea();
 
 
    std::cout << "Area: " << Area ;
    std::cout << "Upper Left X Coordinate: ";
    std::cout << Rectangle.GetUpperLeft().GetX();
    system("PAUSE");
}
Rectangle.cpp содержит реализацию класса и компилятор не мог выполнить инициализацию в реализации класса - при том что конструктор уже был объявлен и инициализировать члены данного класса.
 
Текущее время: 18:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru