|
Программирование >> Дополнительные возможности наследования
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; }
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки. |