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

Тема в разделе "C и С++ FAQ", создана пользователем prikolist, 4 июн 2010.

  1. prikolist

    prikolist Гость

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

    prikolist Гость

    Это как понимать?
     
  3. vital

    vital Больной Компом Детектед
    Команда форума Web Team

    Регистрация:
    29 янв 2006
    Сообщения:
    2.474
    Симпатии:
    27
    Это понимать как запрос для гугла.
     
  4. prikolist

    prikolist Гость

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

    Mice Гость

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

    Mice Гость

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

    kripton Гость

    Код (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;
    ....

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

    DarkKnight Well-Known Member
    C\C++ Team

    Регистрация:
    1 авг 2010
    Сообщения:
    653
    Симпатии:
    0
    Что то вопрос какой то странный.....

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

    kripton Гость

    создайте свою структуру Box, объявите его и создайте указатель типа Box

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

    int main()
    {
    ...
    struct Box *a;
    ...
    d = new Box [];
    ...
    delete [] d;
    ...
    }
     
Загрузка...

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