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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> наследование переменной 
V
    Опции темы
svyashennik
Дата 15.10.2007, 22:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Проблема в следующем! Когда я запускаю программу то у меня выскакивает ошибки в строках 33 и 50! А именно что в одной из подклассов не может распознать переменную в моём случае razm. Как мне сделать чтобы она была видна? Заранее огромное спасибо! 
Код

#include "stdafx.h"
#include <iostream>

using namespace std;

class myclass
{
protected:
    float m[1000];
    int nachalo, konec;
public:
    void init(void);
    void push();
};

class myclass1: public myclass
{
    float sum, rez;
public:
    float get_sum(void);
    float get_sr(void);
    void show_sum(void);
    void show_sr(void);
};

void myclass::init(void)
{
    nachalo=konec=0;
}

void myclass::push()
{
    for (int i=0; i<razm; i++)
    {
        cout<<"Vedite znachenie "<<i<<" "<<"elementa: ";
        cin>>m[i];

        if(m[i]==0)
        {
            cout<<"!!!!!!!!!!NULL vvodit nelzya!!!!!!!!!!\n";
            i--;
        }
    }
}

float myclass1::get_sum(void)
{
    sum=0;
    
    for (int i=0; i<razm; i++)
    {
        m[i] = 1/m[i];
        sum+=m[i];
    }

    return sum;
}

void myclass1::show_sum(void)
{
    cout<<"Summa elementov rovna: "<<sum<<"\n\n";
}

float myclass1::get_sr(void)
{
    rez=0;

    rez=10/sum;

    return rez;
}

void myclass1::show_sr(void)
{
    cout<<"Srednee garmonicheskoe ravno: "<<rez<<"\n\n";
}
void main(void)
{    
    myclass1 obj;

    int razm=0;

    cout<<"Zadaite kolichestvo elementov v massive: ";
    cin>> razm;

    obj.init();
    obj.push();
    obj.get_sum();
    obj.show_sum();
    obj.get_sr();
    obj.show_sr();
}

PM MAIL ICQ   Вверх
Weman
Дата 15.10.2007, 22:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Надо переменную razm описать в родительском классе myclass, а не в maine =) 
--------------------
PM MAIL ICQ   Вверх
svyashennik
Дата 15.10.2007, 22:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Точно) А я и не догадался)))) Спасибо! тема закрыта!
PM MAIL ICQ   Вверх
Dogo
  Дата 15.10.2007, 23:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Передавай переменную методу например

Код

float myclass1::get_sum(int razm_)
{    
    sum=0;    
    
    for (int i=0; i<razm_; i++)    
    {
    
        m[i] = 1/m[i];    
        sum+=m[i];    
    }    

    return sum;
    
}


И в main() вызывай метод с параметром
Код

obj.get_sum(razm);


Добавлено через 2 минуты и 5 секунд
упс...опоздал :)
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

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

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

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

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


 




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


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

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