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

задачка на тему "наследование классов" - C++

Восстановить пароль Регистрация
 
TheDeath
Сообщений: n/a
12.04.2012, 16:28     задачка на тему "наследование классов" #1
Создать базовый класс «вещественное число». Элементы класса: поле, задающее значение числа; конструктор для инициализации поля; функция для вычисления модуля числа; функция для печати поля и модуля числа. Создать производный класс «комплексное число». Элементы класса: дополнительно поле, задающее значение мнимой части числа; конструктор для инициализации полей; переопределенная функция для вычисления модуля числа (модуль числа – корень квадратный из суммы квадратов вещественной и мнимой частей числа); переопределенная функция для печати полей и модуля числа. Создать по 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
#include "stdafx.h"
#include "conio.h"
#include "math.h"
#include <iostream>
using namespace std;
 
class V
{
protected:
    double a; // любое значение числа
public:
    V(double a1)
    {
        a=a1;
    }
    double Abs()
    {
        return fabs(a);
    }
    virtual void printf()
    {
        cout<<"Modul:"<<a<<endl;
    }
};
 
class Complex : public V
{
    double i;
public:
    Complex(double i1):V(a)
    {
        i=i1;
    }
    double Abs()
    {
        return sqrt(pow(V::Abs(),2) + i*i);
    }
};
 
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    double a1; int com;
    cout<<"\na1="; cin>>a1;
    cout<<"\nComplex="; cin>>com;
    V Ob1(a1); Complex Ob2(com);
    cout<<"\nModul="<<Ob1.Abs();
    V *p;
    p=&Ob2;
    cout<<"\n[SumKvadr]="<<p->Abs();
    getch();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.04.2012, 16:28     задачка на тему "наследование классов"
Посмотрите здесь:

Вопрос про "Наследование" и "Объединение" C++
Одиночное наследование, иерархия классов "Шахматная фигура" C++
C++ Написать реферат за пару часов на тему "Наследование, виртуальные функции и динамический полиморфизм"
C++ Проблема с перегрузкой операторов "+" и "+=" для классов Point и Circle
Наследование классов "Заявка", "Техническое задание", "Техническое предписание" C++
C++ Наследование классов "Языки программирования"
Ошибка "no matching function for call to." / наследование классов C++
C++ Описание классов. Классы "Шар" и "Ящик для шаров"

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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