MihaNix
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Требуется выполнить задачу примерно такого характера: /* Описать класс вектор на плоскости, содержащий координаты его начала и конца, методы вывода координат на экране и нахождения длины. Описать производный класс, дополнительно содержащий функцию умножения вектора на число, скалярного произведения векторов и сложения двух векторов. Продемонстрировать работу всех созданных методов. Предусмотреть интерфейс работы пользователя с программой на основе меню. */ #include<stdio.h> #include<math.h> class vector { double x,y; public: vector(double vX=0, float vY=0) { x=vX; y=vY;} // конструктор ~vector (); friend vector operator+(vector a, vector b); //сложение векторов friend vector operator-(vector a, vector b); //вычитание векторов friend vector operator*(vector a, double scalar); //умножение вектора на скаляр friend double operator*(vector a, vector b); //скалярное произведение векторов friend vector operator%(vector a, vector b); //векторное произведение векторов friend double abs(vector a); //модуль вектора }; vector operator+(vector a, vector b) { vector temp; temp.x = a.x + b.x; temp.y = a.y + b.y; return temp; } vector operator-(vector a, vector b) { vector temp; temp.x = a.x - b.x; temp.y = a.y - b.y; return temp; } vector operator*(vector a, double scalar) { vector temp; temp.x = a.x * scalar; temp.y = a.y * scalar; return temp; } double operator*(vector a, vector b) { return a.x*b.x + a.y*b.y; } double abs(vector a) { return sqrt(a.x*a.x + a.y*a.y); } /* функция вызывающая ошибку vector operator%(vector a, vector b) { vector Ox(1,0), Oy(0,1); return Ox*(a.y*b.y) + Oy*(a.x*b.x); } */ main() { } По сути непонятно как потом из ф-ции main вызывать функции класса и передавать значения переменных. Закомментированная функция вызывает ошибку - может где затупил? ну и в алгоритмах может где ляпы... Уже второй день голову ломаю - не могу понять как работают классы. Ну и вопрос не по теме: нафига вообще эти классы сдались? Можно ведь и так в функции все оформить, а потом обращаться - мне так намного проще было бы, но к сожалению задача на классы. Используемая среда Devcpp. | Всего записей: 124 | Зарегистр. 18-06-2010 | Отправлено: 13:57 20-05-2012 | Исправлено: MihaNix, 13:59 20-05-2012 |
|