ООП (5 семестр) / 1 вариант
.doc
1 вариант
-
Что напечатает следующий код при создании экземпляра класса X:
#іnclude <iоstrеam>
using namesрace std;
clаss Y {
publіc:
Y() { сout << "Y"; }
};
clаss Z {
publiс:
Z() { соut << "Z"; }
};
class X : рublіс Z {
privatе:
Y m_objY;
publiс:
Х() { сout << "Х"; }
};
-
XY
-
YX
-
XYZ
-
YXZ
-
ZYX
-
Что выведет следующий код:
class Base
{
public:
void Method ()
{
cout << "Базовый класс\n";
}
};
class Derived : public Base
{};
// внутри main
Base b;
Derived d;
b.Method();
d.Method();
-
Перегрузка или переопределение метода:
class Rectangle
{
public:
void print() const;
private:
double length;
double width;
};
void Rectangle::print() // метод print() базового класса
{
cout << "Length = " << length << "; Width = " << width;
}
class Box : public Rectangle
{
public:
void print() const;
private:
double height;
};
void Box::print() // метод print() производного класса
{
Rectangle::print(); // вызов родительского метода print()
cout << "; Height= " << height;
}