05.06.2014, 15:18. Просмотров 335. Ответов 4
Задача продемонстрировать отсечение данных.
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
| #include <iostream>
using namespace std;
enum breed { golden, cairn, dandie, shetland, doberman, lab }; // breed(порода)
class mammal //объявляем класс
{
public: //открытый доступ
mammal() { its_age = 2; its_weight = 5;}
~mammal() {}
int get_age() const {return its_age;} //int- функция, возвращаем its_age
void set_age(int age) {its_age = age;} //(set-установить)
int get_weight() const {return its_weight;}
void set_weight(int weight) {its_weight = weight;}
void speak() const
{
cout << "mammal sound\n";
}
void sleep() const
{
cout << "mammal sleep\n";
}
protected:
int* its_age;
int its_weight;
};
class dog : public mammal
{
public:
dog() : its_breed(golden) {}
~dog() {}
breed get_breed() const {return its_breed;}
void set_breed(breed br) {its_breed = br;}
//отсечение данных (при передаче в виде значения):
void set_age(int age)
{
if (age > 10 || age < 0) {return;} //задается условие.
its_age = age;
}
void wag_tail() const
{
cout << "tail wadding\n";
}
void beg_for_food() const
{
cout << "begging for food\n";
}
private: //инкапсуляция
breed its_breed;
};
int main()
{
dog fido; //создаём объект класса dog
fido.speak();
fido.wag_tail();
fido.set_age(8);
fido.set_age(20);
cout << "fido is " << fido.get_age() << " years old\n";
system("PAUSE");
return 0; |
|
Необходимо чтобы отсечение было через указатель. Помогите пожалуйста.