ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В C++ (4-Е ИЗДАНИЕ) (часть 10) онлайн
Другое применение операции new
Вам может встретиться другой, более общий способ применения операции new для выделения памяти для объектов. Так как new возвращает указатель на блок памяти, содержащий объект, то мы имеем возможность обратиться к первона- чальному объекту путем разыменования указателя. В примере ENGLREF показано, как это можно сделать:
// englref.cpp
// разыменование указателя, возвращаемого оператором new
#include <iostream>
using namespace std;
///////////////////////////////////////////////////////////
class Distance
{
private:
int feet;
float inches;
public:
void getdist ( ) // получение информации
{
cout << "\nВведите футы: "; cin >> feet;
cout << "Введите дюймы: "; cin >> inches;
}
void showdist ( ) // вывод информации
{ cout << feet << "\'-" << inches << '\"'; }
};
///////////////////////////////////////////////////////////
int main ( )
{
Distance& dist = *( new Distance ); // создаем объект типа Distance
dist.getdist ( ); // доступ к членам класса осуществляем через оператор "."
dist.showdist ( );
cout << endl;
return 0;
}
Выражение
new Distance:
возвращает указатель на блок памяти, достаточный для размещения объекта Distance, и мы можем обратиться к первоначальному объекту, используя
*( new Distance );
На этот объект указывает указатель. Используя ссылку, мы определили dist как объект класса Distance и определили его равным *( new Distance ). Теперь мы можем ссылаться на члены объекта dist, используя операцию точки, а не опера- цию ->.
Этот подход применяется реже, чем указатели на объекты, полученные с ис- пользованием операции new, или простое объявление объекта, но он работает точно так же.
12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
Схожі підручники
- Українська мова за професійним спрямуванням. Навчальний посібник (частина 1)
- Методичні вказівки до виконання практичного заняття на тему «Теорія ігор.»
- Реферат на тему « Особливості та недоліки оподаткування операцій з недержавного пенсійного забезпечення в Україні »
- Загальні питання з курсу Соціологія (частина 2)
- Курс Банківська Система
- ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В C++ (4-Е ИЗДАНИЕ) (часть 2) онлайн
