Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Перегрузка оператора = 
:(
    Опции темы
SwordOfDeath
Дата 6.6.2009, 21:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 130
Регистрация: 16.10.2007

Репутация: нет
Всего: нет



Привет,


Задача перегрузить оператор = , но не присваивание а получение...
Мне нужно чтобы если меня пытаются присвоит int'у то я возвращаю внутреннюю переменную int count; а если меня присваивают мне подобному то возвратить себя ) ухххх

Простите за такое идиотское объяснение... Просто даже не понимаю как это объяснить...

вот приблизительно то что я хочу:

Код

class colorElement{
public:
    int operator= (colorElement);
    colorElement operator= (colorElement);
    int count;
    int color;
};
int colorElement::operator= (colorElement in){
    return count;
}
colorElement colorElement::operator= (colorElement in){
    return this;
}


Погуглил и повикипедил... и не нашел похожих ситуаций...
Если это вообще возможно помогите пожалуйста разобраться...
Буду благодарен любой помощи...
PM MAIL   Вверх
azesmcar
Дата 6.6.2009, 21:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



SwordOfDeath

Это называется user-defined conversions.
Код

class A
{
private:
    int i_;
public:
    A(int i): i_(i) {}
    operator int() const {
        return i_;
    }
};

int main()
{
    A obj(10);
    int i = obj;
    std::cout << i << std::endl;
}


PM   Вверх
SwordOfDeath
  Дата 6.6.2009, 22:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 130
Регистрация: 16.10.2007

Репутация: нет
Всего: нет



Огромное спасибо! Именно то что искал = )

В итоге код получился чистенький и красивый...

class colorElement{
public:
    operator int() const {return count;}
    int count;
    int color;
};

PM MAIL   Вверх
andrew_121
Дата 7.6.2009, 11:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 10
Всего: 33



SwordOfDeath, Пометь тему решенной!


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0423 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.