|
Освой самостоятельно С++ за 21 деньSquare::Square(int length): Rectangle(length, length)}} 4. Запишите виртуальный конструктор-копировщик для класса Square, взятого из упражнения 3. class Square { public: // ... virtual Square * clone() const { return new Square(*this); } // ... }; 5. Жучки: что неправильно в следующем программном коде? void SomeFunction (Shape); Shape * pRect = new Rectangle; SomeFunction(*pRect); Возможно, здесь все правильно. Функция SomeFunction ожидает получения объекта класса Shape. Вы передали ей объект класса Rectangle, произведенный от класса Shape. До тех пор пока вам не нужны никакие составные части класса Rectangle, такой подход будет нормально работать. Если же вам понадобятся члены класса Rectangle, придется изменить объявление функции SomeFunction, чтобы она принимала указатель или ссылку на объект класса Rectangle, 6. Жучки: что неправильно в следующем программном коде? class Shape() { public: Shape(); virtual ~ShapeO; virtual Shape(const Shape&); }; Нельзя объявить виртуальным конструктор-копировщик ...» | Код для вставки книги в блог HTML
phpBB
текст
|
|