Указатели към обекти в гр, purecodecpp

Указатели към обекти в гр, purecodecpp
Когато за първи път се срещна с указатели в C ++ (вж. Показалки в C ++. Част 1) може да има опростено представяне на това, което указатели могат да посочат само на отделни променливи, вградени (скаларни) видове C ++, и това е просто още една алтернативна форма на достъп до тези променливи , В такова заявление указатели ще бъде едно приятно допълнение на език, но с много ограничен капацитет.

Да разгледаме такива изпълнения по-подробно. Най-лесният вариант е да се използват указатели към сложни обекти (обекти на класове и структури). Но такова използване на указатели отваря широки перспективи в C ++, както ще видим.

Указатели към обекти. обява 1

Този нов клас дизайнер ми. но чрез създаване на параметър. Когато се обадите го нарича майка клас конструктор (номер (вцепенен)). което му придава една и съща стойност. Следващите скоби <> ограден от празен блок от код, което означава нищо повече след призива не е нужно да се направи строителя родител. Не забравяйте, че цялата последователност на конструкторите от всички класове майки - нарича (в обратен ред на наследяване), когато се обаждате, породена от конструктора на класа, но това е само защото никой аргумент конструктор. В случай на параметризираните конструктори rodieley ще трябва изрично да се позове.

Но ние ще се отклоня от темата на разговора ни ... И сега е време да се съберат и да видим програмата сме получили:

Указатели към обекти в гр, purecodecpp

Досега нищо ново, а всичко, което е подобно на начина, по който сме работили с указател към променлива от тип двойно. се каже.

Спомнете си, освен това, че новият оператор за динамично създаване на нов обект:

а) причини динамичния мениджър управление на паметта и разпределя нов обем за поставяне на обекта;

б) се позовава на конструктора на съответния клас (тип данни) за първоначално маркиране (инициализиране) разпределената памет. Леко модифицирате пример (файл ex2.cc):

Указатели към обекти. обява 2

Този прост пример показва, че в модела на обекта на C ++ се нарича полиморфизъм. И този имот е един от най-мощните инструменти за изразяване на C ++. И тази техника се осъществява винаги чрез указатели към обекти (фигура *).

Ето как ще изглежда съставянето и изпълнението на нашия пример (ex3.cc) на терминала на операционната система Linux, когато използвате компилатор GCC с ++ езика C (това е за пореден път доказва, че C ++ език за програмиране в малко зависими от операционната система):

Указатели към обекти в гр, purecodecpp

Отново във връзка с примерен код е показано, и служи да се определи много важен факта, че стрелките винаги са въведени C ++. Индексът не може да бъде "указател към нещо." Език C ++ - е език със силно име въвели. Въведете показалеца е указател за обозначаване на вида на това променливо, като "указател към удвои». Указатели към различни видове са взаимно несъвместими с заданието и сравнение.

Технологии виртуални функции и полиморфизъм са толкова важна роля за цялата философия на C ++, която изисква отделно подробно разглеждане. За това говори в една от следните уроците.

С цел поддържане на нашата интернет страница - кликнете върху кутията на монета и да изберете всеки удобен начин.

Но ти харесва това, което влезе остро на полиморфизма. Това не е лошо, но потребителите, които са чели само вашия сайт вече е малко, че е ясно. Преди това, описвайки класовете не сте написали за виртуални функции, а дори и за наследството. И тогава изведнъж падна на читателя всичко това и абстрактни класове.

В края на статията ви за полиморфизъм - Мисля, че си струва отделна статия. Но преди това, да напише статия за "клас наследство в C ++» (това е последният тема в плана си на главната страница)

администратор.