Если объявляют указатель на объект, то доступ к элементам осуществляется спомощью операции “стрелка”:
имя_объекта -> имя_элемента
При разработке программ, использующих классы, рекомендуется для класса создавать отдельный заголовочный файл, который затем подключать в текст главной программы.
Пример 1: Класс, описывающий окружность.
#include <iostream>
#include <conio.h>
#include <windows.h>
using namespace std;
class Circle
{
//Закрытые элементы данных:
float x,y,r;
//Открытые функции (методы):
public:
//Фукции, обеспечивающие доступ к элементам данных:
void Set_x(float xx) {x=xx;}
void Set_y(float yy) {y=yy;}
void Set_r(float rr) {r=rr;}
float Get_x() {return x;}
float Get_y() {return y;}
float Get_r() {return r;}
//Функции ввода-вывода:
void input();
void output();
};
// Определение функций:
void Circle::input()
{
cout << "Задайте x: " << endl;
cin >> x;
cout << "Задайте y: " << endl;
cin >> y;
do
{
cout << "Задайте r > 0: " << endl;
cin >> r;
} while(r < 0);
}
void Circle::output()
{
cout << "Значение x: " << x << endl;
cout << "Значение y: " << y << endl;
cout << "Значение r: " << r << endl;
}
// Пример объектно-ориентированного программирования:
int main()
{
//Настройки шрифтов и региональных стандартов:
if(SetConsoleCP(1251)==0)
//проверка правильности установки кодировки символов для ввода
{
cerr<<"Fialed to set codepage!"<<endl;
/* если не удалось установить кодовую страницу, вывод сообщения об ошибке*/
}
if(SetConsoleOutputCP(1251)==0)//тоже самое для вывода
{
cerr<<"Failed to set OUTPUT page!"<<endl;
}
Circle a;
a.input();
a.output();
float xx, yy, rr;
cout << "Задайте новое значение x: " << endl;
cin >> xx;
cout << "Задайте новое значение y: " << endl;
cin >> yy;
cout << "Задайте новое значение r: " << endl;
cin >> rr;
a.Set_x(xx);
a.Set_y(yy);
a.Set_r(rr);
cout << "Значение x = " << a.Get_x() << endl;
cout << "Значение y = " << a.Get_y() << endl;
cout << "Значение r = " << a.Get_r() << endl;
a.output();
_getch();
return 0;
}