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

Создать абстрактный класс с виртуальной функцией вычисления нормы и модуля; определить производные классы с собственными функциями - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ ошибки (в двумерном массиве найти первый равный заданной величине(вывести с индексами), и последний четный элемент) http://www.cyberforum.ru/cpp-beginners/thread880693.html
Добрый день. Вот такая проблема у меня. Условие: В двумерном массиве найти первый равный заданной величине(вывести с индексами), и последний четный элемент. вообщем первый равный заданной величине я сделал только не правильно ставит индексы это строки 83-85. а с поиском последнего четного не могу цикл правильный написать (это 50-60 строки) чтобы с конца и в нужный момент останавливал....
C++ Поиск подпоследовательностей в последовательостях Вот такай задача: Найти число разных неубывающих подпоследовательностей первой последовательности, которые входят во вторую последовательность в инвертированной виде максимальное число раз, a в первой последовательности содержатся только пересекающимися парами. Помогите советом с чего начать решать? Добавлено через 34 минуты Пожалуйста помогите) скоро сдавать) http://www.cyberforum.ru/cpp-beginners/thread880690.html
C++ Календарные даты в текст
Дали тему курсача "Преобразования календарных дат различных форматов в текст". Написал пока что только месяц в слово #include <iostream> #include <iomanip> #include <conio.h> #include <string.h> #include <stdlib.h> #include <windows.h> using namespace std; void main( void )
C++ шифровать / расшифровать строку
Какой функцией(или где найти код) в c++ можно зашифровать и расшифровать строку без увеличения количества символов. (не просто увеличить каждый символ на 1 , а что-нибудь по сложнее)
C++ Выпуклый многоугольник (вычислить площадь, периметр, количество сторон) http://www.cyberforum.ru/cpp-beginners/thread880668.html
Задача на с++. Помогите, ребята. объект выпуклый многоугольник. тут в программе надо вычислить площадь, периметр, количество полей.
C++ Получить последовательность элементов главной диагонали Даны натуральное число n, действительная матрицi=1, ... ,n, j =1,…, n. Получить последовательность элементов главной диагонали a_1_1, a_2_2, ...,a_n_n. подробнее

Показать сообщение отдельно
elvipka
1 / 1 / 0
Регистрация: 22.10.2011
Сообщений: 54
27.05.2013, 16:59  [ТС]     Создать абстрактный класс с виртуальной функцией вычисления нормы и модуля; определить производные классы с собственными функциями
Цитата Сообщение от ITcrusader Посмотреть сообщение
const - входит в сигнатуру функции, поэтому его отсутствие - суть перегрузка функции. Т.е. в абстрактном классе она объявлена была, в производных же - не реализована. Еще ошибка в самом последнем цикле - дважды освобождалась память. Поправил, код ниже:
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
#include <iostream>
#include <cmath>
 
using namespace std;
 
class Norm
{ double a; double b;
public:
    virtual double area1() const = 0;
    virtual double area2() const = 0;
};
 
class Complex: public Norm
{
public:
    Complex(double a,double b): _a(a), _b(b) { }
 
    virtual double area1() const { return sqrt(_a*_a+_b*_b); }
    virtual double area2() const { return (_a*_a+_b*_b); }
 
private:
    double _a; double _b;
};
 
class Vector3D: public Norm
{
public:
    Vector3D(double c,double d): _c(c), _d(d)  { }
 
    virtual double area1() const { return sqrt(_c*_c+_d*_d); }
    virtual double area2() const { if (_c>_d) return _c; else return _d; }
 
private:
    double _c; double _d;
};
 
int main(int argc, char* argv[])
{
    Norm *shapes[2];
 
 
    shapes[0] = new  Complex (3,6);
    shapes[1] = new Vector3D (2,7);
 
    for (int i = 0; i < 2; ++i)
        {cout << shapes[i]->area1() << endl;
         cout << shapes[i]->area2() << endl;}
 
    for (int i = 0; i < 2; ++i)
        {delete shapes[i];         
        }
 
return 0;
 
}
работает!)
Благодарю Вас!)
 
Текущее время: 23:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru