Программирование >>  Дополнительные возможности наследования 

1 ... 244 245 246 [ 247 ] 248 249 250 ... 265


class SimpleCircle {

public:

SimpleCircleO; SimpleCircle(int); SimpleCircleO; void SetRadius(int); int GetRadiusO;

const SimpleCircle& operator++(); const SimpleCircle operator++(int); private:

int *itsRadius;

SimpleCircle:;SimpleCircleO {itsRadius = new int(5);}

SimpleCircle::SimpleCircle(int radius) {itsRadius = new int(radius);}

SimpleCircle:: SimpleCircleC) {

delete itsRadius;

const SimpleCircle& SimpleCircle::operator++() {

++(*itsRadius); return *this;

Постфиксный оператор Operator ++(int),

Выборка, затем инкрементирование

const SimpleCircle SimpleCircle::operator++ (int)

объявляем локальный обьект класса SimpleCircle и инициализируем его значением this

SimpleCircle temp(*this);

++(*itsRadius);

return temp;

6. Создайте в классе SimpleCircle конструктор-копировщик.

SimpleCircle::SimpleCircle(const SimpleCircle & rhs) {

int val = rhs.GetRadius(); itsRadius = new int(val);



7. Перегрузите в классе SimpleCircle оператор присваивания.

SimpleCircle& SimpleCircle::operator=(const SimpleCircle & rhs) {

if (this == &rhs) return this; delete itsRadius; itsRadius = new int; itsRadius = rhs.GetRadius(); return this;

8. Напишите профамму, которая создает два объекта класса SimpleCircle. Для создания одного объекта используйте конструктор, заданный по умолчанию, а второму экземпляру при объявлении присвойте значение 9. С каждым из объектов используйте оператор инкремента и выведите полученные значения на печать. Наконец, присвойте значение одного объекта другому объекту и выведите результат на печать.

Sinclude <iostream.h>

class SimpleCircle {

public:

конструкторы SimpleCircleO; SimpleCircle(int); SifflpleCircle(const SimpleCircle &); SimpleCircleO {}

методы доступа к данным void SetRadius(int); int GetRadiusO const;

операторы

const SimpleCircle& operator++(); const SimpleCircle operator++(int); SimpleCircle& operator=(const SimpleCircle &);

private;

int *itsRadius;

SimpleCircle;;SimpleCircle() {itsRadius = new int(5);}

SimpleCircle:;SimpleCircle(int radius) {itsRadius = new int(radius);}

SimpleCircle::SimpleCircle(const SimpleCircle & rhs) {

int val = rhs.GetRadiusO;



itsRadius = new int(val):

SimpleCircle: : Si[TipleCircle() {

delete itsRadius;

SimpleCircle& SimpleCircle::operator=(const SimpleCircle & rhs) {

if (this == &rhs) return this; itsRadius = rhs.GetRadius(); return *this;

const SimpleCircle& SimpleCircle;:operator++() {

++(*itsRadius); return this;

Постфиксный оператор Operator ++(int).

Выборка, затем инкрементирование

const SimpleCircle SimpleCirole;:operator++ (int)

объявляем локальный объект класса SimpleCircle и инициализируем его значением this

SimpleCircle temp(this);

++(itsRadius);

return temp;

int SimpleCircle::GetRadius() const {

return itsRadius;

int main() {

SimpleCircle CircleOne, CircleTwo(9);

CircleOne++;

++CircleTwo;

cout CircleOne: CircleOne.GetRadiusO endl; cout CircleTwo; CircleTwo.GetRadius() endl; CircleOne = CircleTwo;

cout CircleOne; CircleOne.GetRadiusO endl;

cout CircleTwo: << CircleTwo. GetRadiusO endl; return 0; }



1 ... 244 245 246 [ 247 ] 248 249 250 ... 265

© 2006 - 2024 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки.
Яндекс.Метрика