2.1. класс как обобщение структуры
Выше мы дали определение класса, как конструкции, состоящей из полей и функций. В частности, этому определению удовлетворяет структура. В действительности, структура в Си++ реализована как класс, все поля которой, по умолчанию, общедоступны в том смысле, что доступ к ним осуществляется через имена имя_структуры.поле, имя_структуры.функция(аргументы), или указатели указатель->поле, указатель->функция(аргументы). Простейшим образом класс можно определить с помощью конструкции: где первая пара фигурных скобок обозначает альтернативный выбор одного из ключевых слов, а вторая пара включает в себя поля и имена функций, которые принадлежат классу. Такие функции называются составными функциями класса. Заключенный в фигурные скобки список компонент называется телом класса. Определение тела класса заканчивается точкой с запятой. Пример 1. Будем использовать ключевое слово struct для определения класса двумерного вектора, для которого определены функции ввода и вывода данных, составляющих объект.
#include <iostream.h> #include <conio.h>
// Класс вектор struct Vector { double x, y; // Координаты вектора
// Функция вывода на экран координат вектора void get() { cout<<"x="<<x<<' '<<"y="<<y<<' '; }
// Функция ввода с клавиатуры координат вектора void put() { cout<<"Введите через пробел координаты вектора (x и y): "; cin>>x>>y; }
};
void main() { clrscr(); // Очистка экрана
Vector v, w[2]; // Определение векторов
v.put(); w[0].put(); w[1].put(); // Ввод координат векторов
// Вывод координат векторов cout<<" Координаты вектора v: "; v.get();
cout<<"Координаты вектора w[0]: "; w[0].get();
cout<<"Координаты вектора w[1]: "; w[1].get();
getch(); // Ожидание нажатия клавиши }
|
| Оглавление| |