Читайте также:
|
|
Основной файл с ф-ией main
// p3_1.cpp: Defines the entry point for the console application.
//
#include "stdafx.h"
#include "stdio.h"
#include "Complex.h"
int main(int argc, char* argv[])
{
Complex a(4, 4);
Complex b(1, 1);
Complex s;// = NULL;
s = a + b;
printf("Complex +: %d + %di \n", s.getA(), s.getB());
s = a - b;
printf("Complex -: %d + %di \n", s.getA(), s.getB());
s = a * b;
printf("Complex *: %d + %di \n", s.getA(), s.getB());
return 0;
}
Заголовочный файл класса
#ifndef COMPLEX_H
#define COMPLEX_H
class Complex {
friend Complex &operator + (Complex &x, Complex &y);
friend Complex &operator - (Complex &x, Complex &y);
friend Complex &operator * (Complex &x, Complex &y);
private:
int a;
int b;
public:
Complex &operator = (Complex &x);
Complex() {
a = 0;
b = 0;
}
Complex(int ta, int tb) {
a = ta;
b = ta;
}
void setA (int ta) { a = ta; }
void setB (int tb) { b = tb; }
int getA (void) { return a; }
int getB (void) { return b; }
};
#endif
Файл реализации класса
#include "Complex.h"
//#include "iostream.h"
Complex& Complex::operator = (Complex &x) {
a = x.getA();
b = x.getB();
return *this;
}
Complex& operator + (Complex &x, Complex &y) {
Complex *tmp = new Complex(x.getA() + y.getA(), x.getB() + y.getB());
return *tmp;
}
Complex& operator - (Complex &x, Complex &y) {
Complex *tmp = new Complex(x.getA() - y.getA(), x.getB() - y.getB());
return *tmp;
}
Complex& operator * (Complex &x, Complex &y) {
Complex *tmp = new Complex();
tmp->setA(x.getA() * y.getA() - x.getB() * y.getB());
tmp->setB(x.getA() * y.getB() + x.getB() * y.getA());
return *tmp;
}
2. Создайте класс Point (точка), содержащий координаты точки. Создайте класс Circle (окружность) производный от класса Point, содержащий элемент данных радиус. Программа должна выводить объект класса Circle в виде - Центр = [x; y]; Радиус = r.
Дата добавления: 2015-07-16; просмотров: 44 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Техническое задание для создания базы данных для склада №1 оптовой и розничной торговли ООО «Лебедянский». | | | Основной файл с ф-ией main |