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

Преобразование типов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Простенький winlock http://www.cyberforum.ru/cpp-beginners/thread234590.html
LRESULT CALLBACK KeyboardHook(int nCode, WPARAM wParam, LPARAM lParam) { if (HC_ACTION==nCode) switch(wParam) { case VK_SPACE: return 1;break; // работает case VK_LWIN: return 1;break; // от чего то неработает }
C++ Наследование Привет! Есть следующая ситуация: class Counter { protected: unsigned int count; public: Counter(): count(0) {} Counter (int c): count(c) http://www.cyberforum.ru/cpp-beginners/thread234574.html
Переделать из С++ в С C++
Слушайте ребята как мне можно переделать эту задачу из C++ в обычную СИшку? #include <vcl.h> #pragma hdrstop #include "UnitA.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1;
C++ Visual и RAD studio
здравие желаю. на один и тот же код: main() { string a; cout<<a; } RAD Studio выдает ошибку ('operator<<' not implemented in type 'ostream' for arguments of type 'string'), а VS работает нормально. помогите решить проблему,а то в раде работать привычнее.
C++ Маленький вопрос по работе с файлами http://www.cyberforum.ru/cpp-beginners/thread234550.html
очень глупый к тому же) есть FILE * f=fopen(filename,"r"); FILE* F; как мне присвоить*F=*f? заранее спасибо)
C++ Есть ли в с++ какой-нибудь аналог in Есть ли в с++ какой-нибудь аналог in К примеру в вот такая задача Подсчитать количество гласных символов в тексте в паскале все запишется красиво: const glasn=; var st: string; g,i:integer; begin if st in glasn then inc(g) подробнее

Показать сообщение отдельно
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
28.01.2011, 06:28     Преобразование типов
У тебя оба класса имеют общую суть и логичней всего было бы наследовать оба класса от общего абстрактного предка.

Добавлено через 4 минуты
И почему без явного преобразования не заработало? Сделай оператор умножения в классе A и всё будет работать. И, наоборот, сделай оператор сложения в классе T. Причём, реализация может использовать и приведение типа, но уже явное:
C++
1
2
3
4
T T::operator + (T y)
{
 return (T)(((A)*this)+((A)y));
}
и
C++
1
2
3
4
A A::operator * (A y)
{
 return (A)(((T)*this)*((T)y));
}
.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru