Описание объектов
Конкретные переменные типа «класс» называются экземплярами класса, или объектами.
Время жизни и видимость объектов зависит от вида и места их описания и подчиняется общим правилам языка С++.
Формат:
class <имя> переменная;
Замечание: Объект находится в таком же отношении к своему классу, в каком переменная находится по отношению к своему типу.
Рассмотрим пример описания класса TPoint(точка):
1) Точка характеризуется координатами: x и y – это свойства объекта;
2) Над точкой можно выполнять следующие действия:
- можно задать её координаты;
- точку можно переместить (изменив координаты);
- можно получить координаты точки.
Далее приведем текст программы, который задает координаты точки, выводит их на экран, а, затем, перемещает точку в другие координаты.
#include "stdafx.h"
class TPoint
{ private:
int x,y;
public:
void InitPoint ( int newx, int newy)//метод инициализации точки
{
x = newx;
y = newy ;
}
void relmove ( int dx, int dy )//метод перемещения точки
{
x+= dx;
y += dy ;
}
int getx ( void )//метод возвращает координату х
{ return x ; }
int gety ( void ) //метод возвращает координату y
{ return y ; }
};
int main()
{
class TPoint p;// описание объекта p
p.InitPoint(10,10);
printf("x=%d, y=%d\n", p.getx(), p.gety());
p.relmove(5,10);// перемещение точки
printf("x=%d, y=%d\n", p.getx(), p.gety());
return 0;
}
В этом классе два скрытых поля — x и y, получить значения которых извне можно с помощью методов getx() и gety().
Все методы класса имеют непосредственный доступ к его скрытым полям.
В результате выполнения программы на экран будут выводиться первоначальные координаты точка, а затем новые координаты (рис.2.1).
Классы могут быть глобальными (объявленными вне любого блока) и локальными (объявленными внутри блока, например, внутри функции или другого класса).
Рисунок 2.1. – Результат работы программы
Дата добавления: 2015-02-10; просмотров: 872;