Дин. объект, его понятие

  • Автор темы prikolist
  • Дата начала
P

prikolist

#1
Если написать такую строку:
Код:
Box * d = new Box;
Как узнать на какой объект ссылается указатель д если у динамического объекта нету имени, согласно книжному токованию?
 
P

prikolist

#4
Кто-нибудь ответьте на вопрос в первом посте, как вы понимаете.
Код:
Box *d = new Box; 
d->f(); //Это вызов функции объекта класса через указатель.
Где здесь объект класса?
 
M

Mice

#5
prikolist
Объект - это кусочек памяти, на который ссылается d. К нему нельзя обратиться НЕ через указатель. Потому что у него нет имени. Хочешь обращаться напрямую - не используй такой синтаксис, если это возможно.
 
M

Mice

#6
sax_ol
Думаю, о том же что и я. Но раз человек не понял, для чего ему нужно typeid, видимо, просто не понял того, что в книжке говорили.
 
K

kripton

#7
C++:
//сначала создаешь указатель того типа который нужен, например int

int *a;
...
//потом выделяешь ему память 

a = new int;

//в конце программы обязательно
...
delete a;
...
//////////////////////////////////
//одномерный массив типа double, например
int n=10;
double *array;
...
array = new double [n];

...

delete [] array;
....
//////////////////////////////////
//матрица типа float

int n=3,m=4,i=0;
float **matrix;
...
matrix = new float *[n];
for(i=0;i<m;i++) matrix[i] = new float [m];

...

for(i=0;i<m;i++) delete [] matrix[i];
delete [] matrix;
....

и т.д. и т.п., думаю понятно объяснил)))
 

DarkKnight

Well-known member
01.08.2010
653
0
#8
Если написать такую строку:
Box * d = new Box;

Как узнать на какой объект ссылается указатель д если у динамического объекта нету имени, согласно книжному токованию?
Что то вопрос какой то странный.....

указатель у тебя ссылается на только что созданный тобой объект (на который ты память выделил) класса, либо типа Box...
Выделил память создал новый объект.
 
K

kripton

#9
Что то вопрос какой то странный.....

указатель у тебя ссылается на только что созданный тобой объект (на который ты память выделил) класса, либо типа Box...
Выделил память создал новый объект.
создайте свою структуру Box, объявите его и создайте указатель типа Box

struct Box
{
...
параметры структуры
...
}

int main()
{
...
struct Box *a;
...
d = new Box [];
...
delete [] d;
...
}