IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Builder 6.0
сообщение
Сообщение #1


Fanat
***

Группа: Пользователи
Сообщений: 261
Пол: Мужской
Реальное имя: Сергей

Репутация: -  5  +


Можно ли перегружать operator+ так

class ASCII
{
public:
char* Array;
int n;
public:
ASCII(TStringGrid *Grid);
ASCII VivodvSG(TStringGrid *Grid);
...
ASCII operator+(char t); // Добавление
...
};



В смысле что ASCII operator+(char t) зависит не от ASCII?
Если да...то почему при вызове

char t = '2';
if (mrOk == Form2->ShowModal())
{
m_pTable1 = m_pTable1 + t; //*(Form2->Edit1->Text.c_str());
}
m_pTable1->VivodvSG(SG2);



Не происходит обращение к данной перегруженной функции?..
(условие if выполняется).
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 3)
сообщение
Сообщение #2


Гость






Ты бы привел описания типов всех переменных, участвовавших в приведенном тобой выражении, тоже. Перегрузка операций - дело такое, что любая мелочь может иметь решающее значение... К примеру, m_pTable1 какой тип имеет?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Fanat
***

Группа: Пользователи
Сообщений: 261
Пол: Мужской
Реальное имя: Сергей

Репутация: -  5  +


Цитата(volvo @ 17.12.2007 20:39) *

Ты бы привел описания типов всех переменных, участвовавших в приведенном тобой выражении, тоже. Перегрузка операций - дело такое, что любая мелочь может иметь решающее значение... К примеру, m_pTable1 какой тип имеет?


ASCII* m_pTable1;

Вроде и все переменные...

Вот так работает.
*m_pTable1 = *m_pTable1 + t;



Сообщение отредактировано: Fanat -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Сорри, но ты перегрузил operator + внутри класса ASCII, следовательно левым операндом обязан быть не указатель, а собственно экземпляр типа ASCII...

Добавлено через 1 мин.
yes2.gif Что и требовалось доказать...
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 28.03.2024 20:35
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name