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

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

Войти
Регистрация
Восстановить пароль
 
Electrosoul
0 / 0 / 0
Регистрация: 05.12.2011
Сообщений: 9
#1

Классы в С++ - C++

25.05.2012, 19:55. Просмотров 667. Ответов 2
Метки нет (Все метки)

Господа , программисты дано условие :
Создать класс типа - прямоугольник. Поля - высота и ширина. Функции-члены вычисляют площадь, периметр, устанавливает поля и возвращают значения. Функции-члены установки полей класса должны проверять корректность задаваемых параметров. Функция печати.
Программа :

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
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <math.h>
 
 
 
class rectangle
{ 
 private:
 float storona_a;
 float storona_b;
 public: 
 
 rectangle(float _a = 0, float _b=0);
 
 float get_storona_a() { return storona_a; }
 
 float get_storona_b() { return storona_b; }
 
 double get_ploshyad() { return storona_a * storona_b ; }
 
 double get_perimetr() { return 2 * (storona_a + storona_b); }
 
 bool set_storona_a(float _new_storona_a)
 {
     if (_new_storona_a < 0)
     return false;
     storona_a = _new_storona_a;
     return true;
 }
 
 bool set_storona_b(float _new_storona_b)
 {
     if (_new_storona_b < 0)
     return false;
     storona_b = _new_storona_b;
     return true;
 }
 
 
 
 void write_storona_a() { printf ("Storona a: %f \n", get_storona_a()); }
 void write_storona_b() { printf ("Storona b: %f \n", get_storona_b()); }
 
 void write_ploshyad() { printf ("Ploshyad: %f \n", get_ploshyad()); }
 void write_perimetr() { printf ("Perimetr: %f \n", get_perimetr()); }
};
 
rectangle::rectangle(float _a, float _b)
{
 if (_a > 0)
 storona_a = _a;
 else
 storona_a = 0;
 
 if (_b > 0)
 storona_b = _b;
 else
 storona_b = 0;
}
 
int main()
{
 rectangle MyRectangle;
 
 printf("Nachalnoe znachenie \n");
 
 MyRectangle.write_storona_a();
 MyRectangle.write_storona_b();
 
 printf("a = 10 b = 15 \n");
 
 MyRectangle.set_storona_a(10); 
 MyRectangle.set_storona_b(15);
 
 MyRectangle.write_storona_a();
 MyRectangle.write_storona_b();
 
 MyRectangle.write_ploshyad();
 MyRectangle.write_perimetr();
 
 printf(" a = -5 b = -10\n");
 
 MyRectangle.set_storona_a(-5); 
 MyRectangle.set_storona_b(-10);
 
 MyRectangle.write_storona_a();
 MyRectangle.write_storona_b();
 
 MyRectangle.write_ploshyad();
 MyRectangle.write_perimetr();
 
 getch();
}
Условие задачи мне не совсем понятно. Хотел узнать Правильно ли я ее решил. Заранее спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.05.2012, 19:55     Классы в С++
Посмотрите здесь:

Классы возможностей(Mixin классы) C++
C++ классы/дочерние классы/методы
классы C++
C++ Классы
C++ классы
Классы C++
C++ Классы
Классы в си++ C++
классы C++
Классы, включающие другие классы C++
Классы в С++ C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DU
1480 / 1056 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
25.05.2012, 20:41     Классы в С++ #2
ну можно сказать, что все правильно.
единственное, все методы, которые не меняют состояние класса желательно сделать константными. это все get и write функции.
можно еще добавить тотальную функцию write, которая бы печатала все параметры прямоугольника. чтобы не писать в мэине несколько штук. проще сразу одну позвать.
MrGluck
Ворчун
Эксперт CЭксперт С++
6435 / 3633 / 452
Регистрация: 29.11.2010
Сообщений: 9,603
25.05.2012, 20:58     Классы в С++ #3
Ну, во-первых, классы - это С++, а ты используешь ввод/вывод с С-ей. Во-вторых, библиотеки также надо использовать с С++. В третьих, полу-русские - полу-английские слова не есть хорошо. Сторона - side. Мы же не говорим Я тебя Love.
Ну а те, кто говорят -
горите в аду, маргиналы!
Название: post-44-13356890618501.jpg
Просмотров: 95

Размер: 23.9 Кб
Yandex
Объявления
25.05.2012, 20:58     Классы в С++
Ответ Создать тему
Опции темы

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