Контрольная работа: Алгебра логіки як розділ математики
Класи
в C++
Перед
тим як працювати з класом, програма повинна його оголосити. Розглянемо синтаксис
оголошення класу на прикладі класу circle:
class
Circle {
public:
Circle
();
void
SetRadius (void);
void
GetRadius (void);
~Circle
();
private:
void
CalculateArea (void);
int
radius;
int
color;
};
Ключове
слово class показує компілятору, що все, що знаходиться у фігурних дужках ({}) належить
оголошенню класу. (Не забувайте ставити крапку з комою наприкінці оголошення.) Оголошення
класу містить оголошення елементів даних (наприклад, int radius) і прототипи функцій-елементів
класу. В оголошенні класу circle містяться наступні елементи даних:
int
radius;
int
color;
Оголошення
також містить п'ять прототипів функцій-елементів:
Circle
(); // конструктор
void
SetRadius (void);
void
GetRadius (void);
~Circle
(); // деструктор
void CalculateArea (void);
Прототипи
функцій і оголошення елементів даних включаються в оголошенні класу в розділи public
(відкритий) або private (закритий). Ключові слова public і private говорять компілятору
про приступність елементів-функцій і даних. Наприклад, функція SetRadius () визначена
в розділі public, і це означає, що будь-яка функція програми може викликати функцію
SetRadius (). Функція CalculateArea () визначена в розділі private, і цю функцію
можна викликати тільки в коді функцій-елементів класу Circle.
Аналогічно,
оскільки елемент даних radius оголошений у розділі private, прямий доступ до нього
(для установки або читання його значення) можливий тільки в коді функцій-елементів
класу Circle. Якби ви оголосили елемент даних radius у розділі public, то будь-яка
функція програми мала би доступ (для читання і присвоювання) до елемента даних radius.
Приклад:
Заповнення і вивід платіжної відомості
include <iostream>
#include <cstring>
using namespace std;
class employee {
char name [80]; // private by default
public:
void putname (char *n); // these are public
void getname (char *n);
private:
double wage; // now, private again
public:
void putwage (double w); // back to public
double getwage ();
};
void employee:: putname (char *n)
{
strcpy (name, n);
}
void employee:: getname (char *n)
{
strcpy (n, name);
}
void employee:: putwage (double w)
{
wage = w;
}
double employee:: getwage ()
{
return wage;
}
int main ()
{
employee ted;
char name [80];
ted. putname ("Ted Jones");
ted. putwage (75000);
ted. getname (name);
cout << name << " makes $";
cout << ted. getwage () << " per
year. ";
return 0;
}
2.
Завдання до лабораторної роботи
Створити клас трикутників, змінними якого є сторони трикутника,
а методами-обчислення його площі і периметра. Створити два об’єкти, що належать
до створеного класу, і для одного обчислити площу, а для другого - периметр.
|