Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Перегрузка оператора ++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вычислить произведение отрицательных элементов P1 и произведение положительных элементов P2 http://www.cyberforum.ru/cpp-beginners/thread846375.html
В массиве действительных чисел(N=15) есть только положительные и отрицательные элементы.Вычислить произведение отрицательных элементов P1 и произведение положительных элементов P2.Сравнить модуль P2...
C++ И все еще о сравнениях первой степени Не могу понять в чем ошибка, элементы матрицы последний первой строки и последний второй - дублируются на места первого элемента второй строки и первый элемент третьей соответственно... помогите... http://www.cyberforum.ru/cpp-beginners/thread846366.html
Перегрузка оператора C++
Здравствуйте! Помогите разобраться с перегрузкой операторов. Суть задания: Осуществите перегрузку оператора “++” так, чтобы при его использовании к объекту прибавляется 2 Перегрузку вроде...
Быстрая сортировка. Сложности с сортировкой по возрастанию и убыванию C++
Сложность в то, что не корректно работает быстрая сортировка по возрастанию и убыванию. В консоли приходится несколько раз выбирать способ сортировки.(Скрин во вложении) #include <iostream> ...
C++ UoPilot на С++ http://www.cyberforum.ru/cpp-beginners/thread846347.html
Добрый день. Хочу написать прогу на С++, аналогичную уже существующей UoPilot. Подскажите норм литературу.
C++ Найти целое число k-порядковый номер числа фибоначчи Дано целое число N(>1), являющееся числом Фибоначчи: N=Fk(число Фибоначчи Fk определяется следующим образом: F1=1 f2=1 Fk=Fk-2+Fk-1, K=3, 4 ..). Найти целое число k-порядковый номер числа фибоначчи.... подробнее

Показать сообщение отдельно
spiderasp
0 / 0 / 0
Регистрация: 23.04.2013
Сообщений: 3

Перегрузка оператора ++ - C++

23.04.2013, 16:52. Просмотров 285. Ответов 3
Метки (Все метки)

Нужно создать операторы префиксного и постфиксного инкремента для приращения переменной itsRadius класса SimpleCircle. Переменная itsRadius должна размещаться в динамической памяти.

Вот моя попытка реализовать, но там ерунда получается :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include <iostream>
 
class SimpleCircle
{
public:
    SimpleCircle();
    SimpleCircle(int radius);
    ~SimpleCircle() {}
    int GetRadius() {return *itsRadius;}
    void SetRadius(int radius) { *itsRadius = radius;}
    const SimpleCircle & operator++ ();
    const SimpleCircle operator++ (int);
 
private:
    int *itsRadius;
};
 
SimpleCircle::SimpleCircle()
{
    itsRadius = new int (5);
}
 
SimpleCircle::SimpleCircle(int radius)
{
    itsRadius = new int (radius);
}
 
const SimpleCircle & SimpleCircle::operator++()
{
    ++(itsRadius);
    return *this;
}
 
const SimpleCircle SimpleCircle::operator++(int)
{   
    SimpleCircle temp(*this);
    ++(itsRadius);
    return temp;
}
 
 
int main()
{
    using namespace std;
    SimpleCircle Round;
    SimpleCircle Round_2(1);
    SimpleCircle Round_3(2);
 
    cout << Round.GetRadius() << endl;
    cout << Round_2.GetRadius() << endl;
    cout << Round_3.GetRadius() << endl;
    
    Round_2 = ++Round;
    Round_3 = ++Round;
 
    cout << Round.GetRadius() << endl;
    cout << Round_2.GetRadius() << endl;
    cout << Round_3.GetRadius() << endl;
    
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru