Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.02.2014, 21:53   #1
dkii
Пользователь
 
Регистрация: 11.12.2013
Сообщений: 54
Стрелка

Здраствуйте, помогите пожалуйста, должно быть два класса эллипс - базовый, окружность - клас-наследник, необходимо сравнить длину даных фигур.
Код:
#include <iostream>
#include <locale>
#include <cmath>
#define M_PI 3.1415926535897932384626433832795
 
using namespace std;
class Elips
{
private:
    float L,A,B,l,D;
public:
    Elips(float, float, float, float, float);
    void show_Elips(void);
};
Elips::Kolo(void)
{
    Elips::L = M_PI*D;
}
void Elips::show_Elips(void)
{
    cout << "Элипс: " << endl;
    cout << "Введите параметр А: " << endl;
    cin >> A;
    cout << "Введите параметр B: " << endl;
    cin >> B;
    L=4*(M_PI*A*B+(A-B))/(A+B);
    cout << "L окружности = "<<L<< endl;
    l=M_PI*D;
        cout << "L эллипса = "<<L<< endl;
        {
    if (l>L)
        cout << "l ОКРУЖНОСТИ > L ЭЛлИПСА " << "\n";
 
    if (l<L)
        cout << "l < L \n" << "\n";
 
    if (l == L)
        cout << "l = L " << "\n";
        }
}
int  main()
{
    setlocale(LC_ALL, "RUS");
    Elips Elips(0, 0, 0);
    Elips.show_Elips();
    system("Pause");}
Помогите пожалуйста

Последний раз редактировалось Stilet; 19.02.2014 в 20:47.
dkii вне форума Ответить с цитированием
Старый 16.02.2014, 16:06   #2
SAMOUCHKA
Форумчанин
 
Регистрация: 07.08.2011
Сообщений: 576
По умолчанию

А в чем проблема?
наследуй класс эллипс. Определи какие надо, функции.
Ну а для сравнения можешь перегрузить операторы ==, <, >, <=, >=.

К стати члены базового класса , объявленные как private, не будут доступны в классе наследнике. Если нужен к ним доступ объявляй их как protected

что конкретно не понятно, спрашивай
SAMOUCHKA вне форума Ответить с цитированием
Старый 18.02.2014, 18:38   #3
dkii
Пользователь
 
Регистрация: 11.12.2013
Сообщений: 54
По умолчанию

Помогите пожалуйста переделать код.
dkii вне форума Ответить с цитированием
Старый 18.02.2014, 18:47   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

M_PI уже определен, зачем его еще раз дефайнить?
p51x вне форума Ответить с цитированием
Старый 18.02.2014, 18:51   #5
dkii
Пользователь
 
Регистрация: 11.12.2013
Сообщений: 54
По умолчанию

Спасибо, убрал, можете еще что-то подсказать?
dkii вне форума Ответить с цитированием
Старый 18.02.2014, 19:23   #6
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

А что собственно, не работает? Код похож на правду - какие у вас проблемы?
MaTBeu вне форума Ответить с цитированием
Старый 18.02.2014, 19:59   #7
dkii
Пользователь
 
Регистрация: 11.12.2013
Сообщений: 54
По умолчанию

Вот что выдает, думаю что ошибка в вот этом Elips::Kolo(void) только не знаю как ее исправить.
1> q.cpp
1>d:\ббб\vc\123321\123321\q.cpp(15) : error C2039: Kolo: не является членом "Elips"
1> d:\ббб\vc\123321\123321\q.cpp(8): см. объявление "Elips"
1>d:\ббб\vc\123321\123321\q.cpp(16) : error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
1>d:\ббб\vc\123321\123321\q.cpp(17) : error C2065: D: необъявленный идентификатор
1>d:\ббб\vc\123321\123321\q.cpp(18) : warning C4508: Kolo: функция должна возвращать значение; предполагается возвращаемый тип "void"
1>d:\ббб\vc\123321\123321\q.cpp(26) : warning C4244: =: преобразование "double" в "float", возможна потеря данных
1>d:\ббб\vc\123321\123321\q.cpp(28) : warning C4244: =: преобразование "double" в "float", возможна потеря данных
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
dkii вне форума Ответить с цитированием
Старый 18.02.2014, 20:31   #8
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Ну так вам все написали.
Код:
Elips::Kolo(void)
{
    Elips::L = M_PI*D;
}
Какой тип возвращает сия функция? Реализация есть, а объявление в классе нет. Либо переписали, либо недописали.
p51x вне форума Ответить с цитированием
Старый 18.02.2014, 21:12   #9
dkii
Пользователь
 
Регистрация: 11.12.2013
Сообщений: 54
По умолчанию

Можете сказать как это должно быть?

Помогите пожалуйста

очень нужно

Последний раз редактировалось Stilet; 20.02.2014 в 09:03.
dkii вне форума Ответить с цитированием
Старый 20.02.2014, 07:54   #10
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Цитата:
Можете сказать как это должно быть?
Вы думаете тут форум телепатов?

Что это за функция? - Вы так и не ответили. Она член класса? - Вы не ответили. Что она возвращает? - Аналогично... Ждите телепатов.
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти длину вектора Virtuoz_ Паскаль, Turbo Pascal, PascalABC.NET 2 17.12.2013 21:19
Ограничение на длину строки Vit2010 Microsoft Office Access 7 30.08.2011 15:40
проверить длину строки в js Даниил_глазко JavaScript, Ajax 5 26.12.2010 06:34
Задать длину строки bead HTML и CSS 1 08.12.2010 18:00
Узнать длину строки Яр|/||< (^_^) Паскаль, Turbo Pascal, PascalABC.NET 2 22.09.2009 23:46