69715

Вказівники на об’єкти

Лекция

Информатика, кибернетика и программирование

Як відомо, при збільшенні покажчика на одиницю він переміщається на наступний елемент того ж типу. Наприклад, цілочисельний покажчик посилатиметься на наступне ціле число. Як правило, адресна арифметика залежить від типу покажчика. (Інакше кажучи, вона залежить від типа даних, на які посилається покажчик.).

Украинкский

2014-10-09

27.5 KB

0 чел.

Тема 5: Вказівники на об'єкти

Покажчики можуть посилатися не тільки на змінні вбудованих типів, але і на об'єкти. Для доступу до членів класу через покажчик на об'єкт використовується оператор  "->" , а не ".". Проілюструємо це за допомогою наступної програми.

#include <iostream>

using namespace std;

class cl {

int і;

public:

cl(int j) { i=j; }

int get_i() { return і; }

};

int main()

cl ob(88), *p;

p = &ob;   // Одержуємо адресу об'єкту ob.

cout << p->get_i(); // для виклику функції get_i() // застосовується оператор ->

return 0 ;

}

Як відомо, при збільшенні покажчика на одиницю він переміщається на наступний елемент того ж типу. Наприклад, цілочисельний покажчик посилатиметься на наступне ціле число. Як правило, адресна арифметика залежить від типу покажчика. (Інакше кажучи, вона залежить від типа даних, на які посилається покажчик.). Це правило торкається і покажчиків на об'єкти.

Покажчику можна привласнити адресу відкритого члена об'єкту, а потім посилатися на цей член з його допомогою. Розглянемо наступну програму, яка виводить на екран число 1.

#include <iostream>

using namespace std;

class cl {

public:

int   i;

cl (int j) { i=j;}

int main ()

{

cl ob(l);

int   *p;

p = &ob.i;    // Отримати адресу члена ob.i.

cout << *p;  // Звернення до члена ob.i через покажчик р

return 0;

}

Оскільки покажчик р посилається на ціле число, він має тип int. В даному випадку не має значення, що змінна є членом об'єкту ob.

Передача посилань на об'єкти

При передачі об'єкту як параметр функції створюється його копія. Після закінчення роботи функції викликається деструктор копії. Проте, якщо параметр викликається за допомогою посилання, копія об'єкту не створюється. Це значить, що після повернення управління параметр функції не знищується і деструктор не викликається. Приклад:

#include <iostream>

using namespace std;

class cl {

int id;

public:

int і ;

cl(int i);

~cl();

void neg(cl &o) { o.i = -o.i; }// Тимчасовий об'єкт не створюється

};

cl::cl(int num)

{

cout << "Створення об'єкту " << num << "\n";

id = num;

}

cl::~cl()

{

cout << "Знищення об'єкту " << id << "\n";

}

int main()

{  

cl о(l);

о. і  =   10;

о. neg(о);

cout <<  о. і  <<   " \n" ;

return   0;

}


 

А также другие работы, которые могут Вас заинтересовать

74470. Методологічні основи наукових досліджень. Мова як засіб вираження наукових знань 75 KB
  Проблема методології дослідження є актуальною для будь-якої науки, оскільки її досягнення значною мірою визначаються розвитком власного методологічного апарату. Розробка конкретних методів науки базується на її теоретичних положеннях і методологічних принципах.
74471. Методи педагогічних досліджень та можливості їх використання на практиці 125.5 KB
  Особливості проведення методу спостереження: сутність види методика. Основні поняття до теми: документ метод аналізу контентаналіз спостереження експеримент опитування; анкетування; інтерв’ю; тестування; графічні методи; статистичні методи. Метод аналізу документів на думку фахівців за популярністю поступається хіба що методам опитування чи спостереження. Часто він є основою для формування гіпотез які потім перевіряють методами опитування спостереження або експерименту.
74472. Вибірка у педагогічному дослідженні, її значення для дослідження 53.5 KB
  Значення методу вибірки у педагогічних дослідженнях. Вимоги до забезпечення якості та надійності вибірки. Основні поняття до теми: метод вибірки генеральна сукупність одиниця вибору репрезентативність ймовірність метод снігової кулі гніздова вибірка метод серійної вибірки серія стратифікована вибірка. Значення методу вибірки у педагогічних дослідженнях Метод вибірки – науково обґрунтований підхід що дає змогу робити висновки про об’єкт як ціле спираючись на дані аналізу лише окремих його ознак.
74473. ПЛАНИРОВАНИЕ СОЦИАЛЬНОГО РАЗВИТИЯ ПРЕДПРИЯТИЯ 55.5 KB
  ПЛАНИРОВАНИЕ СОЦИАЛЬНОГО РАЗВИТИЯ ПРЕДПРИЯТИЯ Во всех экономических системах главной производительной силой является человек персонал организаций. Чем выше человеческий капитал и потенциал его развития тем лучше он работает на благо своего предприятия. План социального развития современного предприятия содержит такие человеческие показатели и факторы как повышение доходов и качества жизни работников совершенствование трудового потенциала и социальной структуры персонала улучшение социальнотрудовых и жилищнобытовых условий работников...
74474. ОПЕРАТИВНО-ПРОИЗВОДСТВЕННОЕ ПЛАНИРОВАНИЕ 163.5 KB
  В процессе ОПП разрабатываются календарноплановые нормативы план выпуска продукции предприятия по месяцам года; оперативнокалендарные планы выпуска и графики производства узлов и деталей цехами участками по месяцам неделям суткам сменам иногда часам. Выполняются объемные расчеты загрузки оборудования и площадей; организуется сменносуточное планирование оперативный учет хода производства контроль и регулирование его диспетчирование. ОПП слагается из календарного планирования и оперативного регулирования хода производства –...
74475. ЭКОНОМИЧЕСКАЯ ОЦЕНКА ПЛАНОВ 54 KB
  Основными оценочными показателями эффективности плановой деятельности являются как абсолютные так и относительные значения затрат и результатов доходов и расчетов издержек и прибыли и других общеэкономических или внутрипроизводственных стандартов и нормативов. Наиболее важными планово-экономическими показателями являются эффект и эффективность стоимость и доходность. Эффект показывает степень достижения некоторого заданного результата и в общем виде представляет собой разность между...
74476. ИСПОЛЬЗОВАНИЕ В ПЛАНИРОВАНИИ ПРОГРАММНЫХ ПРОДУКТОВ 42 KB
  Современные персональные компьютеры способные поддерживать сложное графическое программное обеспечение и обрабатывать большие массивы планово-экономических данных могут применяться как для многопользовательских систем с несколькими рабочими станциями так и для обеспечения отдельных видов плановой деятельности. В системе автоматизированного планирования важнейшее значение имеет база данных представляющая собой пакет программ которые обеспечивают запоминание сортировку поиск объединение структуризацию информации на основе использования...
74477. СУЩНОСТЬ И ФУНКЦИИ ПЛАНИРОВАНИЯ В УПРАВЛЕНИИ 98.5 KB
  Предмет метод и задачи планирования В условиях рыночной экономики устойчивость и успех любого хозяйствующего субъекта может обеспечить только эффективное планирование его экономической деятельности. Сущность планирования в условиях рыночной экономики заключается в научном обосновании на предприятиях предстоящих экономических целей их развития и форм хозяйственной деятельности выбора наилучших способов их осуществления на основе наиболее полного выявления требуемых рынком видов объемов и...
74478. ПЛАНОВЫЕ РАСЧЕТЫ И ПОКАЗАТЕЛИ 86.5 KB
  Расчетные нормы и нормативы одновременно могут быть как абсолютными так и относительными величинами. Так при планировании трудовых затрат исходными чаще всего служат нормативы времени а производными – расчетные нормы времени. Нормы в отличие от нормативов имеют конкретное отраслевое или внутрипроизводственное назначение. Нормы разрабатываются обычно на краткосрочный заранее установленный период их применения в заданных производственных условиях с учетом различных производственно-хозяйственных факторов.