Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
Крылов Николай
0 / 0 / 0
Регистрация: 12.01.2016
Сообщений: 6
1

Реализовать класс родительский класс "Пара чисел" и класс-наследник "Комплексное число"

13.01.2016, 10:45. Просмотров 650. Ответов 8
Метки нет (Все метки)

Ткма работы
создать класс pair (пара чисел); определить метод перемножения полей и операцию сложения пар (a,b)+(c,d) =(a+b,c+d) .определить производный класс complex с полями: действительная и мнимая части.определить методы умножения (a,b)*(c,d)=(ac-bd,ad+bc) и вычитания (a,b)-(c,d)=(a-b,c-d)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
#pragma once
    #include <iostream>
    class Pair {
    public:
    Pair(void);
    Pair (int, int);
    ~Pair(void);
    bool isequal ();
    int multiply ();
    friend Pair operator- (const Pair&, const Pair&);
    friend std::ostream& operator<< (std::ostream& out, Pair& p);
    int a, b;
    };
        class complex 
        { 
        private: 
    double re, im; 
         public:  
        complex() { re = 0; im = 0; }
        complex(double r, double i) { re = r; im = i; }  
        complex(const complex &ob){ re = ob.re; im = ob.im; };      
        complex& operator = (complex); 
        complex operator + (complex);
        complex operator - (complex);  
        complex operator * (complex&);
        complex operator / (complex&);
        complex& operator += (complex); 
         complex& operator -= (complex); 
        complex& operator *= (complex); 
        complex& operator /=( complex);  
        friend std::istream& operator >>(std::istream&, complex&); 
        friend std::ostream& operator << (std::ostream&, const complex&); 
        bool operator == (complex& com);  
        bool operator != (complex& com); 
        bool operator > (complex& com); 
        bool operator < (complex& com);
    
        };   
        
        Pair.cpp:
    #include "stdafx.h"
    #include "Pair.h"
    Pair::Pair (void) {
    a=0;
    b=0;
    }
    
        
    Pair::~Pair(void) {
    }
        std::ostream& operator<< (std::ostream& out, Pair& p) {
    out << "("<<p.a<<", "<<p.b<<")";
    return out;
    }
        bool Pair::isequal () {
    return (a==b);
    }
        int Pair::multiply () {
    return a*b;
    }
        Pair operator- (const Pair& q1, const Pair& q2) {
    return Pair (q1.a+q1.b, q2.a+q2.b);
    }
        complex::complex (int a, int b) {
    this->a=a;
    this->b=b;
    }
        complex operator+ (const complex& q1, const complex& q2) {
    return complex (q1.a*q2.b+q1.b*q2.a, q1.b*q2.b);
    }
        complex operator/ (const complex& q1, const complex& q2) {
    return complex (q1.a*q2.b, q1.b*q2.a);
    }
        complex operator- (const complex& q1, const complex& q2) {
    return complex (q1.a*q2.b-q1.b*q2.a, q1.b*q2.b);
    }
        
 
        exam.cpp:
    
        
    #include "stdafx.h"
    #include <iostream>
    #include "Pair.h"
    
        
    int main () {
    setlocale(LC_ALL,"Russian");
    Pair q (10, 9);
    if (q.isequal()) std::cout << "Числа равны\n";
    else std::cout << "Числа не равны\n";
    std::cout << "Произведение полей равно " << q.multiply ();
    std::cout <<"\n";
    Pair q1 (10, 4);
    Pair q2 (5, 1);
    Pair q3=q1-q2;
    std::cout << q3<<"\n";
        complex w1 (4, 1);
    complex w2 (5, 5);
    complex w3=w1-w2;
    std::cout << "Разность пар "<< w1 << " и "<<w2<<" равно "<<"\n";
    std::cout << w3<<"\n";
    complex e1 (8, 1);
    complex e2 (3, 4);
    std::cout << "Сумма пар "<< e1 << " и "<<e2<<" равно "<<"\n";
    complex e3=e1+e2;
    std::cout << e3<<"\n";
    complex r1 (9, 0);
    complex r2 (3, 3);
    std::cout << "Частное пар "<< r1 << " и "<<r2<<" равно "<<"\n";
    Pair r3=r1/r2;
    std::cout << r3<<"\n";
    return 0;
    }
 Комментарий модератора 

Крылов Николай, прочитайте правила форума и постарайтесь впредь их соблюдать:
П. 4.9. Используйте тэги форматирования текста для удобства восприятия ваших сообщений другими пользователями.


Добавлено через 9 часов 57 минут
А поймут ли что мне надо консультация в данный момент выглядит как готова работа

Добавлено через 3 часа 10 минут
Вот какие ошибки
1> Для всех выходных данных обновления не требуется.
1> 3.1.cpp
1>3.1.cpp(47): error C2143: синтаксическая ошибка: отсутствие ";" перед "."
1>3.1.cpp(47): error C2059: синтаксическая ошибка: .
1>3.1.cpp(49): fatal error C1083: Не удается открыть файл включение: Pair.h: No such file or directory
1>
1>СБОЙ построения.
1>
1>Затраченное время: 00:00:00.40
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.01.2016, 10:45
Ответы с готовыми решениями:

Создать иерархию классов: родительский класс "Транспорт", класс-потомок "Техосмотр транспорта"
Помогите пожалуйста написать программу Родительский класс &quot;Транспорт&quot;. Поля...

Реализовать базовый класс "Футбольная команда" и класс-наследник с методами консольного ввода/вывода
Составить программу на языке С++, в которой описывается класс (с добавлением...

Реализовать связь классов "телефонная книга" и родительский класс "телефонный номер"
Суть проблемы:есть дочерний класс &quot;телефонная книга&quot; и родительский класс...

Реализовать родительский класс "Геометрическая фигура" и потомок "Конус"
Всем привет. Впервые сюда обращаюсь за помощью. На данный момент, закрываю...

Создать базовый класс "Массив" и класс-наследник "Матрица"
Добрый день! такой вопрос, как задать двумерный массив и заполнить его...

8
Default_070
23 / 23 / 26
Регистрация: 01.10.2015
Сообщений: 175
Завершенные тесты: 1
13.01.2016, 10:52 2
А что такое
C++
1
Pair.cpp:
Добавлено через 1 минуту
В строке 49 ты определяешь деструктор, но ведь его нет в объявлении класса
0
Крылов Николай
0 / 0 / 0
Регистрация: 12.01.2016
Сообщений: 6
13.01.2016, 10:54  [ТС] 3
Код не полностью мой что то взял за основу ну даже пробовал убрать это ноль реакции
0
Default_070
23 / 23 / 26
Регистрация: 01.10.2015
Сообщений: 175
Завершенные тесты: 1
13.01.2016, 10:55 4
Ты написал объявление классов в файле Pair.h?
0
Крылов Николай
0 / 0 / 0
Регистрация: 12.01.2016
Сообщений: 6
13.01.2016, 10:57  [ТС] 5
если уведите еще недочеты отпешитесь я после работы буду исправлять
0
Default_070
23 / 23 / 26
Регистрация: 01.10.2015
Сообщений: 175
Завершенные тесты: 1
13.01.2016, 11:01 6
В общем добавь деструктор о определение класса, вынеси его в файл Pair.h в файле Pair.cpp напиши то что следует за
C++
1
Pair.cpp:
и это все должно быть в одном проекте.
И exam.cpp вынеси в отдельный файл.

Добавлено через 3 минуты
И complex.cpp и compex.h создай и напиши в них определение и объявление соответственно

Добавлено через 47 секунд
Но подключи к complex.h pair.h
0
Крылов Николай
0 / 0 / 0
Регистрация: 12.01.2016
Сообщений: 6
13.01.2016, 11:05  [ТС] 7
Я хоть в правильном направление?
0
Default_070
23 / 23 / 26
Регистрация: 01.10.2015
Сообщений: 175
Завершенные тесты: 1
13.01.2016, 11:09 8
Про написание класса? Да, ты написал те операции которые хотел получить
1
Крылов Николай
0 / 0 / 0
Регистрация: 12.01.2016
Сообщений: 6
14.01.2016, 21:35  [ТС] 9
я кое что изменил но все равно выдает ошибку не подскажешь почему (Админы прошу прощение теги знаю как выставлять но думаю что больше запутаю 1-моя программа
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
// класс файл Pair.h
 
#include "stdafx.h"
#include <iostream>
using namespace std;
//первый класс Pair
    class Pair {
    public:
    Pair(void);
    Pair (int, int);
    ~Pair(void);
    bool isequal ();
    int multiply ();
    friend Pair operator- (const Pair&, const Pair&);
    friend std::ostream& operator<< (std::ostream& out, Pair& p);
    int a, b;
    };
// класс файл Complex
class complex : public Pair
     { 
        private: 
    double re, im; 
         public:  
        complex() { re = 0; im = 0; }
        complex(double r, double i) { re = r; im = i; }  
        complex(const complex &ob){ re = ob.re; im = ob.im; };      
        complex& operator = (complex); 
        complex operator + (complex);
        complex operator - (complex);  
        complex operator * (complex&);
        complex operator / (complex&);
        complex& operator += (complex); 
         complex& operator -= (complex); 
        complex& operator *= (complex); 
        complex& operator /=( complex);  
        friend std::istream& operator >>(std::istream&, complex&); 
        friend std::ostream& operator << (std::ostream&, const complex&); 
        bool operator == (complex& com);  
        bool operator != (complex& com); 
        bool operator > (complex& com); 
        bool operator < (complex& com);
    
        };   
Pair2.cpp: главный файл проекта.
 
 
        Pair.cpp:
    #include "stdafx.h"
    #include "Pair.h"
    Pair::Pair (void) {
    a=0;
    b=0;
    }
    
        
    Pair::~Pair(void) {
    }
        std::ostream& operator<< (std::ostream& out, Pair& p) {
    out << "("<<p.a<<", "<<p.b<<")";
    return out;
    }
        bool Pair::isequal () {
    return (a==b);
    }
        int Pair::multiply () {
    return a*b;
    }
        Pair operator- (const Pair& q1, const Pair& q2) {
    return Pair (q1.a+q1.b, q2.a+q2.b);
    }
        complex::complex (int a, int b) {
    this->a=a;
    this->b=b;
    }
        complex operator+ (const complex& q1, const complex& q2) {
    return complex (q1.a*q2.b+q1.b*q2.a, q1.b*q2.b);
    }
        complex operator/ (const complex& q1, const complex& q2) {
    return complex (q1.a*q2.b, q1.b*q2.a);
    }
        complex operator- (const complex& q1, const complex& q2) {
    return complex (q1.a*q2.b-q1.b*q2.a, q1.b*q2.b);
    }
        
// Exam.cpp: главный файл проекта.
 
      
    #include "stdafx.h"
    #include <iostream>
    #include "Pair.h"
    
        
    int main () {
    setlocale(LC_ALL,"Russian");
    Pair q (10, 9);
    if (q.isequal()) std::cout << "Числа равны\n";
    else std::cout << "Числа не равны\n";
    std::cout << "Произведение полей равно " << q.multiply ();
    std::cout <<"\n";
    Pair q1 (10, 4);
    Pair q2 (5, 1);
    Pair q3=q1-q2;
    std::cout << q3<<"\n";
        complex w1 (4, 1);
    complex w2 (5, 5);
    complex w3=w1-w2;
    std::cout << "Разность пар "<< w1 << " и "<<w2<<" равно "<<"\n";
    std::cout << w3<<"\n";
    complex e1 (8, 1);
    complex e2 (3, 4);
    std::cout << "Сумма пар "<< e1 << " и "<<e2<<" равно "<<"\n";
    complex e3=e1+e2;
    std::cout << e3<<"\n";
    complex r1 (9, 0);
    complex r2 (3, 3);
    std::cout << "Частное пар "<< r1 << " и "<<r2<<" равно "<<"\n";
    Pair r3=r1/r2;
    std::cout << r3<<"\n";
    return 0;
    }
Добавлено через 7 минут
вот какая ошибка
1>------ Построение начато: проект: Pair, Конфигурация: Debug Win32 ------
1>Построение начато 14.01.2016 23:34:38.
1>InitializeBuildStatus:
1> Обращение к "Debug\Pair.unsuccessfulbuild".
1>GenerateTargetFrameworkMonikerAttribute:
1>Целевой объект "GenerateTargetFrameworkMonikerAttribute" пропускается, так как все выходные файлы актуальны по отношению к входным.
1>ClCompile:
1> Для всех выходных данных обновления не требуется.
1> Для всех выходных данных обновления не требуется.
1> Для всех выходных данных обновления не требуется.
1>ResourceCompile:
1> Для всех выходных данных обновления не требуется.
1>LINK : fatal error LNK1561: точка входа должна быть определена
1>
1>СБОЙ построения.
1>
1>Затраченное время: 00:00:00.30
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
0
14.01.2016, 21:35
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.01.2016, 21:35

Реализовать класс комплексных чисел с полями "модуль" и "аргумент"
Создать класс, в котором поля соответствуют модулю и аргументу комплексного...

Создать класс комплексных чисел и ввести операции: "+", "-", "*", "/".
пожалуйста-помогите написатьпрограмму!!! сижу на экзамене!!! вот само задание:...

Родительский класс "Геометрическая фигура", потомок "Конус"
Всем привет. Впервые сюда обращаюсь за помощью. В связи с тем, что сегодня...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru