13:35

Life is a life... We are the humans...
вопрос по си:

как в си++ выделять память под указатель на класс(!) ???

заранее спасибо всем ответившим ))


Комментарии
06.11.2004 в 16:33

Пау-чок
MrXaK выделять память под указатель на класс

Извини, правильно ли я понял - нужно выделить память под переменную, которая будет хранить адресс уже существующего экземпляра класса (указатель на класс)?

Или же следует выделить память под экземпляр класса и получить указатель на неё?
06.11.2004 в 16:42

Life is a life... We are the humans...
13'th Child

хм.. в-общем по коду - так:

class aa {...};

aa *var1;

терь память надо выделить под var1... ну то есть как там обычно память выделяется под структуры... new ..[..]; тока под класс у меня так не выделяется...
06.11.2004 в 16:51

как это не выделяется. (или я вопроса не понял)

у меня работает.



class B{

...

};



int main(){

B *b;

b = new B;

return 0;

}
06.11.2004 в 17:36

Life is a life... We are the humans...
хм... а у меня вот на это как раз ругается... хм...
06.11.2004 в 17:38

Life is a life... We are the humans...
лана пасиба за то что проверили... буду у себя копать... в компиляторе... хм...
08.11.2004 в 14:58

Пау-чок
Как вариант:



#include <stdlib.h>

class aa {...};

//бла-бла-бла

aa *var1;

var1 = (aa*)malloc(sizeof(aa));




Это чисто теоретически - компилятора, проверить, под рукой нет. Но я, АФАИР, всегда выделял так...
08.11.2004 в 20:53

Life is a life... We are the humans...
а у меня компилятор ругается на sizeof() от класса...
12.01.2005 в 01:49

CSomeClass **ptr = new CSomeClass*;
12.01.2005 в 01:56

BrerRabbit, приведенный кусок кода:



class B { ... };



int main(

{

B *b = new B;

...

}



выделяет память не под указатель на класс, а под экземпляр класса. См. предыдущий пост