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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Перегрузка операторов, не вызывается перегруженный оператор  
:(
    Опции темы
СерегаГоляков
  Дата 26.5.2010, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Всё супер :)
*


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

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



Решил помоч подружке, давне не писал на СИ++.

В общем надо сделать 2 класса Животные,
и перегрузить 3 операции


Вот, одну перегрузил просто для пробы.

Код

#include "stdafx.h"
#include<iostream>
#include<string.h>
#include "stdio.h"
#include "time.h"

using namespace std ;
class Animal {
    char cVid;            //вид животного
    int fMassa;        //масса    
    int fSpeed;        //скорость передвижения
public:
    void Vid (char);
    

};
//-------------------
class Animal2 {
    int fDlinaDorogi;
    int iKolvoStran;
    int fStoimost;//СТОЙМОСТЬ ПЕРЕВОЗА
public:
    //int operator&(int);    
    int operator/(int);
    int operator+(int&);
};

//------------------------
int Animal2::operator +(int& fStoimost)    //    оператор,
{                                                             //перемножает длину на стоймость провоза
    int l;
    l=fDlinaDorogi*fStoimost;
    return l;
}
//---------------------------
void main()
{    setlocale(LC_ALL,".ACP");
    int fStoimost=4;
    int fDlinaDorogi=8;
    int a;
    a=fDlinaDorogi+fStoimost;
    int b;
    }



У меня число а, складываетсякак не перегруженная операция, пусть даже еси на др значёк поменять.
и еще не получается передать два параметра в перегружаемый оператор(сюда: operator +(int& fStoimost))
--------------------
Список всех полезных программ в ОДНОЙ программеhttps://sites.google.com/site/coolprogramms...latnyh-programm...Пьяные белазисты в карьереhttp://www.youtube.com/watch?v=6FGNGMwxJZ4
PM WWW   Вверх
mes
Дата 26.5.2010, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


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

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



Цитата(СерегаГоляков @  26.5.2010,  16:40 Найти цитируемый пост)
У меня число а, складываетсякак не перегруженная операция, пусть даже еси на др значёк поменять.


Цитата(СерегаГоляков @  26.5.2010,  16:40 Найти цитируемый пост)
    int fStoimost=4;
    int fDlinaDorogi=8;
    int a;
    a=fDlinaDorogi+fStoimost;
    int b;

ну так, а у кого из операндов пользовательский тип ? 
smile


--------------------
PM MAIL WWW   Вверх
СерегаГоляков
  Дата 26.5.2010, 17:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Всё супер :)
*


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

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



Ну для начала я переопределил +(другие тож подставлял) как умножение двух полей класса.
еси дебаг делать то он в 

Код

int Animal2::operator +(int& fStoimost)    //    оператор,
{                                                             //перемножает длину на стоймость провоза
    int l;
    l=fDlinaDorogi*fStoimost;
    return l;
}


не попадает вообще)
--------------------
Список всех полезных программ в ОДНОЙ программеhttps://sites.google.com/site/coolprogramms...latnyh-programm...Пьяные белазисты в карьереhttp://www.youtube.com/watch?v=6FGNGMwxJZ4
PM WWW   Вверх
SickFxck
Дата 26.5.2010, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Видимо ты слишком давно не писал на C++. Одним из операндов для "+" должен быть объект класса Animal2. А ты пытаешься сложить 2 int'а. Для них уже строго определен оператор "+" — непосредственное сложение.

Добавлено через 1 минуту и 23 секунды
От того, что ты дал этим переменным такие же названия, как и атрибуты класса, то они ещё никак не связаны.
PM MAIL   Вверх
djamshud
Дата 26.5.2010, 19:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пердупержденный
***


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

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



То есть подружка получает нашу помощь за секс, ты секс за нашу помощь подружке,.. а мы?

Код

struct C{
int data;
C(int var){this->data=var;}
int operator+(int var){return this->data+var;}
};

#include<stdio.h>

int main(){
C c=1;
printf("%d\n",c+5);
};


Реквестирую ее фото в купальнике!


--------------------
'Cuz I never walk away from what I know is right
Alice Cooper - Freedom
PM   Вверх
mes
Дата 26.5.2010, 20:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


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

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



Цитата(djamshud @  26.5.2010,  18:15 Найти цитируемый пост)
. а мы?

ну а форумчане получают орг удовольствие от решения задачи smile



--------------------
PM MAIL WWW   Вверх
djamshud
Дата 26.5.2010, 20:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пердупержденный
***


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

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



Окей, я закурил. :)


--------------------
'Cuz I never walk away from what I know is right
Alice Cooper - Freedom
PM   Вверх
TForumUser
Дата 26.5.2010, 22:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



ты объявил   
Код

int fStoimost=4;
int fDlinaDorogi=8;

, а они должны быть членами класса.

Цитата(СерегаГоляков @  26.5.2010,  17:38 Найти цитируемый пост)

и еще не получается передать два параметра в перегружаемый оператор(сюда: operator +(int& fStoimost)) 

и не получится. Сложение - бинарная операция, и ничего ты с этим не поделаешь
--------------------
Экономте электроэнергию! Выключайте Num Lock!
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

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

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

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

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


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

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


 




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


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

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