Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите с виртуальной функцией, Помогите с виртуальной функцией 
V
    Опции темы
Towards
Дата 16.12.2007, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 2.12.2007

Репутация: нет
Всего: нет



Помогите разобратся - программа не хочет выводить результат:
Код

#include <iostream.h>
#include <math.h>
using std::cout;
class progression {
    
public:
    double a, d, S;
    void set_par (double first_el, double q_d) {
        a = first_el;
        d = q_d;
    }
    virtual void show_cymma_p(int n){};
};
class arif_p : public progression {
public:
    void show_symma_p(int n)
    {
        S=((2*a + d*(n-1))*n)/2;
        cout << "a="<< a<<"\n";
        cout <<"d="<< d<< "\n";
        cout <<"n="<< n<< "\n";
        cout << "S(arif):"<< S << "\n";
        
    }
};
class geom_p : public progression {
public:
    void show_summa_p (int n)
    {
    cout<<"n="<<n<<"\n";
    cout<<"a="<<a<<"\n";
    cout<<"d="<<d<<"\n";
    if(d>1)
        {
        S=(a*(exp(n*log(d))-1))/(d-1);
        cout<<"S(geom)="<<S;
        }
    else 
        cout<<"d<1!!!";
    }
};
    int main ()
    {
        progression *p;
        arif_p a;
        geom_p b;

        p = &a;
        p->set_par(1, 1);
        p->show_cymma_p(5);

        p= &b;
        p->set_par (1, 2);
        p->show_cymma_p (5);

        return 0;
    }

Заранее спасибо!
PM MAIL   Вверх
MAKCim
Дата 16.12.2007, 21:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 52
Всего: 207



Towards
а что не работает?
вроде с виду все нормально


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Fin
Дата 16.12.2007, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дракон->Спать();
**


Профиль
Группа: Участник
Сообщений: 687
Регистрация: 4.1.2006

Репутация: 3
Всего: 10



Посмотри внимательно, как ты написал show_cymma_p во всех трех классах. void show_summa_p и show_cymma_p я думаю, что разные веши.

Это сообщение отредактировал(а) Fin - 16.12.2007, 21:42


--------------------
Пролетал мимо.
PM MAIL   Вверх
crazy_hand
Дата 16.12.2007, 21:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 12.12.2007
Где: Санкт-Петербург

Репутация: нет
Всего: нет



ты в производных классах другие имена функциям даешь. В базовом классе у тебя это функция show_cymma_p. В след. классе это show_symma_p , и в последнем - show_summa_p. Сделай везде одинаковые имена, тогда все работать будет.
PM MAIL ICQ   Вверх
Towards
Дата 16.12.2007, 22:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 2.12.2007

Репутация: нет
Всего: нет



Блин, как сразу не заметил))
Спасибо всем!
PM MAIL   Вверх
crazy_hand
Дата 16.12.2007, 22:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 12.12.2007
Где: Санкт-Петербург

Репутация: нет
Всего: нет



Towards
юзай отладчик - всегда сможешь узнать причину своей ошибки.
PM MAIL ICQ   Вверх
Towards
Дата 16.12.2007, 22:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 2.12.2007

Репутация: нет
Всего: нет



Crazy_hand
спасибо за совет.
PM MAIL   Вверх
JackYF
Дата 16.12.2007, 22:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 18
Всего: 162



Towards, помечай тему решённой.


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0710 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.