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

Наследуемым классом для комплексного числа объявить класс "радиус-вектор", имеющий данные "длина" и "угол" - C++

Восстановить пароль Регистрация
 
ANtaRi3l
0 / 0 / 0
Регистрация: 16.10.2012
Сообщений: 15
18.10.2012, 10:22     Наследуемым классом для комплексного числа объявить класс "радиус-вектор", имеющий данные "длина" и "угол" #1
кто то напишите пожалуйста, вот программа: наследуемым классом для комплексного числа объявить класс "радиус-вектор", имеющий данные "длина" и "угол". Определить конструктор радиус-вектора. Вывести данные на экран с использованием метода базового класса.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.10.2012, 10:22     Наследуемым классом для комплексного числа объявить класс "радиус-вектор", имеющий данные "длина" и "угол"
Посмотрите здесь:

C++ Класс "линия" наследуется классом "отрезок"
Создайте вектор, хранящий десять строковых значений "zero", "one", ..., "nine" C++
C++ Необработанное исключение в "0x00412b4a" в "kursovik.exe": 0xC0000005: Нарушение прав доступа при чтении "0x00000004".
Необработанное исключение в "0x775e15de" в "laba3.exe": 0xC0000005: Нарушение прав доступа при чтении "0xfdfdfdf9". C++
C++ Через ООП: Дать для числа наименование: "рубль", "рубля", "рублей";
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
18.10.2012, 12:02     Наследуемым классом для комплексного числа объявить класс "радиус-вектор", имеющий данные "длина" и "угол" #2
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
#include <iostream>
#include <cmath>
 
class Complex
{
public:
    Complex(double const re_, double const im_) : re(re_), im(im_){}
    friend std::ostream& operator<<(std::ostream& os, Complex const& cn)
    {
        return cn.Print(os);
    }
    virtual ~Complex(){}
protected:
    virtual std::ostream& Print(std::ostream& os) const
    {
        return os << '(' << re << ", " << im << ')';
    }
    double re, im;
};
 
class Rvector : public Complex
{
public:
    Rvector(double const length_, double const angle_) : Complex(length_ * cos(angle_), length_ * sin(angle_)), length(length_), angle(angle_){}
protected:
    std::ostream& Print(std::ostream& os) const
    {
        return Complex::Print(os)<< ", " << length << ", " << angle;
    }
    double length, angle;
};
 
const double pi = 3.141592653589;
 
int main()
{
    Rvector rv(7.0712, 7 * pi / 4);
    std::cout << rv << std::endl;
    return 0;
}
Герц
523 / 340 / 4
Регистрация: 05.11.2010
Сообщений: 1,077
Записей в блоге: 1
18.10.2012, 12:20     Наследуемым классом для комплексного числа объявить класс "радиус-вектор", имеющий данные "длина" и "угол" #3

Не по теме:

Интересно, кому взбрело в голову на таком примере показывать наследование. Максимум, что тут следует сделать - это создать еще один конструктор в классе Complex.


igorrr37, не уверен, что вариант соответствует заданию, так как данные требовалось вывести методом базового класса, а ты переопределил метод Print. Ведь можно было просто вызвать Complex::operator<< и вывести действительную и мнимую часть. Думаю это больше соответствует условию.
ANtaRi3l
0 / 0 / 0
Регистрация: 16.10.2012
Сообщений: 15
21.10.2012, 21:36  [ТС]     Наследуемым классом для комплексного числа объявить класс "радиус-вектор", имеющий данные "длина" и "угол" #4
спасибо большое, выручили)
Yandex
Объявления
21.10.2012, 21:36     Наследуемым классом для комплексного числа объявить класс "радиус-вектор", имеющий данные "длина" и "угол"
Ответ Создать тему
Опции темы

Текущее время: 08:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru