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

Простой пример класса - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Написать программу, которая печатает целочисленные эквиваленты ряда прописных и строчных букв http://www.cyberforum.ru/cpp-beginners/thread1079579.html
Нужно написать программу, которая печатает целочисленные эквиваленты ряда прописных и строчных букв, цифр и специальных символов. (Для A,B,C,a,b,c,0,1,2,$,*,+,/ и пробела). Покажите для одного , я...
C++ Как получить результат выполнение system()? Добрый день. Как мне получить результат выполнения команды system() в какую, нибудь переменную? Добавлено через 24 секунды К примеру получить вывод system("dir"); OS: Windows http://www.cyberforum.ru/cpp-beginners/thread1079573.html
Разработать структуру объекта для представления и расчета объема и площади поверхности правильного усеченного конуса C++
Помогите с написанием проги! :cry: пожалуйста! Разработать структуру объекта для представления и расчета объема и площади поверхности правильного усеченного конуса. разработать программу,...
Вводится число. Определить, является ли оно степенью двойки. C++
Вводится число. Определить, является ли оно степенью двойки. Необходимо использовать Операторы цикла ! Спасибо за внимание!
C++ Крестики-нолики http://www.cyberforum.ru/cpp-beginners/thread1079542.html
При запуске выдаёт ошибку error LNK2001: неразрешенный внешний символ ""char __cdecl check(void)" (?check@@YADXZ)" Судя по всему, как-то неверно запрашиваю функцию check(). В любом случае, что-то...
C++ За один просмотр файла вывести фамилии 3 абонентов, сумма цифр номера телефона которых наименьшая. создать файл записей с полями: Фамилия, номер телефона. За один просмотр файла вывести фамилии 3 абонентов, сумма цифр номера телефона которых наименьшая. Реализовать с помощью "stack" подробнее

Показать сообщение отдельно
bekabot
1 / 1 / 0
Регистрация: 18.12.2013
Сообщений: 61

Простой пример класса - C++

23.01.2014, 16:49. Просмотров 646. Ответов 3
Метки (Все метки)

Листинг 6.8. Объявление классов точки и прямоугольника
Кликните здесь для просмотра всего текста
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
// Начало файла Rect.hpp
#include <iostream.h>
 class Point // хранит координаты x,y
{
// нет конструктора, используется конструктор по умолчанию
public:
void SetX(int x) { itsX = x; >
void SetY(int у) { itsY = у; }
int GetX() const < return itsX;}
int GetY() const { return itsY;}
private:
int itsX;
int itsY;
}; // конец объявления класса Point
 
class Rectangle
{
public:
Rectangle(int top, int left, int bottom, int right):.;
Rectangle() {}
 
int GetTop() 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 SetBottorn (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;
};
/ конец файла Rect.hpp


Листинг 6.9. Содержимое файла RECT.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
35
36
37
38
39
40
41
42
43
// Начало файла rect.cpp
#include "rect.hpp"
Rectangle::Rectangle(int top, int left, int bottom, int right)
{
itsTop = top;
itsLeft = left;
itsBottom = bottom;
itsRight = right;
 
itsUpperLeft.SetX(left);
itsUpperLeft.SetY(top);
 
itsUpperRight.SetXtright);
itsUpperRight.SetY(top);
 
itsLowerLeft.SetX(left);
itsLowerLeft.SetY(bottom);
 
itsLowerRight.SetX(right);
itsLowerRight.SetY(bottom);
}
 
// Вычисляем площадь прямоугольника, отыскивая его стороны
// определяем его длину и ширину, а затем перемножаем их
int Rectangle::GetArea() const
{
int Width = itsRignt - itsLeft;
int Height = itsTop - itsBottom;
return (Width >> Height);
}
 
int main()
{
//инициализируем локальную переменную Rectangle
Rectangle MyRectangle (100, 20, 50, 80 );
 
int Area = MyRectangle.GetArea();
 
cout << "Area: " << Area << "\n";
cout << "Upper Left X Coordinate:";
cout << MyRectangle.GetUpperLeft().GetX();
return 0;
}


1) Можете, пожалуйста, обьяснить строки 28-36. К примеру, как понять
C++
1
Point GetUpperLeft() const { return itsUpperLeft; }
Как функция может быть типа класса Point? GetUpperLeft() это объект класса или метод?

2) а что в этой строке происходит? itsUpperLeft как я понял обьект класса, значит эта строка присваивает значение одного объекта другому??
C++
1
void SetUpperLeft(Point Location) {itsUpperLeft = Location; }
3)Можете здесь уточнить, вызывается функция функции или что?
C++
1
cout << MyRectangle.GetUpperLeft().GetX();

4) Также хотел спросить одну вещь: к примеру где тут в программе вызывается функция SetX()? Я вижу, что она описывается, но вызывается только GetX()

Спасибо большое за Ваши ответы!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru