ну можно сделать окошко, которое будет невидимым и получать сообщения а так - сделай обёртку для cin и в ней обрабатывай все специфические варианты нажатия на клавиши, и дальше в коде использую уже её.
struct Complex { Complex( double r, double i ) : re(r), im(i) {} Complex operator+( Complex &other ); void Display( ) { cout << re << ", " << im << endl; } private: double re, im; };
// Operator overloaded using a member function Complex Complex::operator+( Complex &other ) { return Complex( re + other.re, im + other.im ); }
int main() { Complex a = Complex( 1.2, 3.4 ); Complex b = Complex( 5.6, 7.8 ); Complex c = Complex( 0.0, 0.0 );
c = a + b; c.Display(); }
Пример с MSDN. Прошу обратить внимание, что описание оператора принимает один аргумент. Второй (который не указан, но подразумевается) - сам объект класса, к которому применяется оператор.
_________________ {:€ дед в законе :-) нородный окодемег почетный пользователь OpenSuSE 11.3 Ремонт и модернизация ноутбуков IBM (Lenovo) ThinkPad
Member
Статус: Не в сети Регистрация: 10.12.2007 Откуда: Санкт-Петербург
добрый вечер Пусть имеется некоторый класс vector. Т.е. массивов целых чисел. И к примеру функция умножения элементов массива на число.
Код:
class vector { int mas[SIZE]; int num; public: friend void multiplication(vector &a, int c); }; void multiplication(vector &a, int c) { for (int i=0;i<SIZE;i++){ a.mas[i]*=с; } }
но почему-то ничего не умножается, а вместо этого в массиве имеется всякая чушь типа "-856565" и тд. Скажите пожалуйста, чем проблема?
_________________ Семь бед, один Reset. 95, 98 - это количество багов. В пpоцентах... DCN - наше все
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения