03 классы 1
.pdf03 – 11
int main()
{
// создание объекта t
Test t;
// создание указателя на объект t
Test *tPtr = &t;
// создание ссылки на объект t
Test &tRef = t;
03 – 12
// доступ через имя объекта
t.x = 1; t.print();
// доступ через указатель на объект
tPtr->x = 2; tPtr->print();
03 – 13
// доступ через ссылку на объект
tRef.x = 3; tRef.print(); return 0;
}
1 2 3
03 – 14
Особенности доступа к ДЭ класса
1)
2)
3)
4)
5)
03 – 15
2.4. Отделение интерфейса класса от реализации класса
// Файл TIME.H – определение класса
#ifndef TIME_H #define TIME_H
class Time { ... }; #endif
03 – 16
//Файл TIME.CPP – реализация класса
//(описание всех ФЭ класса)
#include ”time.h”
Time::Time() { ... }
void Time::set(...) { ... } void Time::print() { ... }
03 – 17
//Файл DEMO.CPP – демонстрация
//(компилируется совместно с файлом
//TIME.CPP)
#include ”time.h”
int main(){ ... }
03 – 18
2.5. Функции-утилиты
class Sales { private:
double sales[12];
double total();
//продажи по месяцам
//функцияутилита
03 – 19
public:
Sales();
void set(int, double); void print();
};
03 – 20
//функция-утилита (вычисляет
//общий объем продаж
double Sales::total()
{
double total = 0.0; for(int i=0; i<12; i++)
total += sales[i]; return total;
}