Ссылка на клас в поле класа :)

Ответить

Код подтверждения
Введите код в точности так, как вы его видите. Регистр символов не имеет значения.

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[url] ВКЛЮЧЁН
Смайлики ОТКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: Ссылка на клас в поле класа :)

Re: Ссылка на клас в поле класа :)

Romeo » 05 июл 2007, 13:07

А ещё обязательно нужен деструктор в классе BlaBla. Он должен вызывать delete bla в цикле. Иначе - это мэмори лик.

Re: Ссылка на клас в поле класа :)

Hawk » 05 июл 2007, 00:53

if(!bla) !!!
{
bla=new Bla(a);
}

В массиве bla лежат любые значения случайные, ты их не проинициализировал. А С++ не пишет туда нули сам. убери просто эту проверку и создавай сразу new. Конструктор в любом случае один раз при создании экземпляра класса вызывается. Так что условие тут совершеннг не нужно и не верно.

Ссылка на клас в поле класа :)

CyberM » 04 июл 2007, 23:24

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

Код: Выделить всё

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<n;  i++)
           {
                if(!bla[i])
                    {
                          bla[i]=new Bla(a);
                     }
           }
     
   }
   int func2(){
   for(int i<0; i<n;  i++)
           {
                if(bla[i]->pole1==1)
                    {
                          bla[i]->pole2=10;
                     }
           }   


   }
и при обращении к полю
например тут:

Код: Выделить всё

if(bla[i]->pole1==1)
праграма виснет намертво smile
как сделать правильно? )

Вернуться к началу