Шукаєте відповіді та рішення тестів для Об'єктно-орієнтоване програмування? Перегляньте нашу велику колекцію перевірених відповідей для Об'єктно-орієнтоване програмування в vns.lpnu.ua.
Отримайте миттєвий доступ до точних відповідей та детальних пояснень для питань вашого курсу. Наша платформа, створена спільнотою, допомагає студентам досягати успіху!
В чому полягають проблеми при множинному успадковуванні?
Дано визначення класів і об’єктів:
class C1 {
public:
virtual void f(){}
void DoIt(){}
};
class C2: public C1 {
public:
void DoIt(){}
};
C1 *a = new C2();
Написати всі вірні звертання до того методу DoIt() об’єкту a, який визначений в класі C2. Відповідь пояснити.
Що таке зв’язування?
Чим раннє зв’язування відрізняється від пізнього?
Сформулюйте принцип підстановки.
Дано визначення класів:
class C1 {
public:
void aPolymorphMethod(); //
};
class C2: public C1 {
public:
virtual void aVirtualMethod(); // віртуальний метод
};
void C1::aPolymorphMethod()
{
aVirtualMethod();
}
void C2::aVirtualMethod(){}
Виправити помилку у визначенні цих класів, яка робить неможливим поліморфізм. Відповідь пояснити.
Які особливості виклику віртуальних функцій в конструкторах і деструкторах?
Яким чином в конструкторі-нащадку викликати конструктор базового класу?
Які два види поліморфізму реалізовано в C++?
Дано визначення класів:
class C1 {
};
class C2 {
C1 *f1; //
};
Яка
саме команда повинна бути в тілі конструктора класу С2 для
того щоб правильно створювати об’єкти цього класу? (Написати фрагмент повного
опису конструктора) Відповідь пояснити.
Отримайте необмежений доступ до відповідей на екзаменаційні питання - встановіть розширення Crowdly зараз!