Як створити екземпляр класу

Об'єктно-орієнтована парадигма програмування є превалюючою у всіх сучасних засобах і мовами, призначених для створення програмного забезпечення. Індустріальним стандартом сьогодні є об'єктно-орієнтована мова програмування C ++. Створити екземпляр класу в C ++ можна кількома різними способами.
Як створити екземпляр класу




Вам знадобиться
  • - компілятор C ++.
Інструкція


1
Створіть екземпляр класу як auto-змінну в локальній області видимості, обумовленою функцією, методом класу або операторних блоком. Використовуйте декларативне або імперативне визначення об'єкта класу в обраному місці програми. При необхідності здійсните явний виклик будь-якого конструктора з параметрами. Створіть об'єкт за допомогою коду, аналогічного наступного: void CMyClass :: SomeMethod () {COtherClass oSomeObject1- // створення об'єкта за допомогою конструктора за замовчуванням COtherClass oSomeObject2 (1980, "Victor V. Vakchturov") - // створення об'єкта за допомогою конструктора з параметрами} Пам'ять під об'єкти класів, створюваних подібним способом, як і під будь-які інші auto-змінні, виділяється на стеку. Тому при виході з області видимості і видаленні Фрема стека, об'єкт буде знищений (з викликом деструктора).
2
Створіть екземпляр класу в області динамічно розподіляє пам'яті за допомогою оператора new. Визначте змінну типу покажчика на об'єкти класу, екземпляр якого повинен бути створений. Надайте йому значення, що є результатом обчислення оператора new. Викликайте відповідний конструктор. Використовуйте фрагмент коду, аналогічний наступного: CSomeClass * poSomeObject- // визначення покажчика на об'єкти класу CSomeClasspoSomeObject = new CSomeClass- // Створення об'єкта класуCSomeClass * poSomeObject_2 = new CSomeClass (111, "3V") - // створення з викликом конструктора з параметрами При створенні об'єктів даним методом використовується механізм виділення пам'яті, який визначається оператором new (якщо він не перевизначений і не встановлена власна функція розподілу), тому адреса нового об'єкта заздалегідь не відомий. Всі об'єкти, створені подібним чином, повинні бути явно видалені оператором delete.
3
Створіть екземпляр класу за допомогою оператора new на самостійно виділеному фрагменті пам'яті. Використовуйте код, подібний наступного: void * p0 = malloc (sizeof (CSomeClass)) - // виділення памятіvoid * p1 = malloc (sizeof (CSomeClass)) - // виділення памятіnew (p0) CSomeClass- // ініціалізації об'єкту на виділеної пам'яті ( конструктор за замовчуванням) new (p1) CSomeClass (111, "abc") - // ініціалізація об'єкта (конструктор з параметрами) Перед знищенням об'єктів, створених даним методом, варто явно викликати їх деструктор: ((CSomeClass *) p0) -> ~ () -Створення об'єктів подібним чином в основному використовується в шаблонних класух-контейнерах різних бібліотек (таких як STL).
Переглядів: 3447

Увага, тільки СЬОГОДНІ!