ссылка на класс в классе :)

Тема в разделе "Общие вопросы по С и С++", создана пользователем CyberM, 4 июл 2007.

Статус темы:
Закрыта.
  1. CyberM

    CyberM Гость

    вобщем есть типа такого:

    Код (Text):
    class Bla{
    public:
    int pole1;
    double pole2;
    public:
    Bla(int a){
    pole1=a;
    pole2=0;
    }
    int func1(){
    return pole1;
    }
    };
    class BlaBla{
    public:
    int pole3;
    int pole3333;
    Bla *bla[10];
    public:

    BlaBla(int n)
    {
    pole3=n;
    pole3333=0;
    for(int i<0; i++; i<n)
    {
    if(!bla[i])
    {
    bla[i]=new Bla(a);
    }
    }

    }
    int func2(){
    for(int i<0; i++; i<n)
    {
    if(bla[i]->pole1==1)
    {
    bla[i]->pole2=10;
    }
    }  


    }
    и при обращении к полю
    например тут:
    Код (Text):
    if(bla[i]->pole1==1)
    праграма виснет намертво :)
    как сделать правильно? )
     
  2. mms

    mms Гость

    Ну начнем по порядку :)

    1. В конце класса BlaBla нехватает };
    2. Все форы написаны не верно, верно for ( init-expression ; cond-expression ; loop-expression ), у вас второе и третье поменяны местами (видимо из-за этого и виснет, цикл не завершается).
    3. if(!bla) - не будет работать, если до этого не обнулить память.
    4. Что такое n в func2?
    5. Что такое a в конструкторе BlaBla?

    Ну вроде всё ;)
     
  3. European

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
    Может прежде чем писать классы разобраться с циклами?
    Ошибки в коде:
    1. Неправильное условие в циклах.
    2. В конструкторе класса BlaBla переменная a не определена.
    3. В методе func2 класса BlaBla переменная n не определена.
    И как только компилятор такой код пропустил? :)

    <!--QuoteBegin-mms+5:07:2007, 10:15 -->
    <span class="vbquote">(mms @ 5:07:2007, 10:15 )</span><!--QuoteEBegin-->Ну вроде всё
    [snapback]71424" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Опередил ;)

    Еще func2 должен возвращать значение

    <!--QuoteBegin-mms+5:07:2007, 10:15 -->
    <span class="vbquote">(mms @ 5:07:2007, 10:15 )</span><!--QuoteEBegin-->у вас второе и третье поменяны местами (видимо из-за этого и виснет, цикл не завершается).
    [snapback]71424" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Да и начальной инициализации нет
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей