Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
tube
0 / 0 / 0
Регистрация: 24.09.2008
Сообщений: 26
#1

Указатели на массив объектов - C++

27.11.2008, 14:40. Просмотров 844. Ответов 4
Метки нет (Все метки)

здравствуйте!

есть такой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
class samp
{
      int a;
public: samp(int n) { a=n;}
        int get_a() { return a;}
};
 
 
 
int main(int argc, char *argv[])
{
    samp obj [4][2] = {
         1, 2,
         3, 4,
         5, 6,
         7, 8
         };
         int i;
         
    samp *p;
    p = (samp*) obj;
    
    for(i=0;i<4;i++)
    {
       cout << p->get_a() << " ";
       p++;
       cout << p->get_a() << "\n";
       p++;
       }
       
    
    system("PAUSE");
    return EXIT_SUCCESS;
}
вопрос такой: почему вот в этой
C++
1
p = (samp*) obj;
строке необходим (samp*) перед obj? почему нельзя просто p=obj?

спасибо!

з.ы. если будете отсылать к лит-ре про указатели, отсылайте плз к той, где конкретно объясняется именно про указатели на массивы объектов.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.11.2008, 14:40     Указатели на массив объектов
Посмотрите здесь:

Указатели и адреса объектов - C++
Вот код: #include &lt;conio.h&gt; #include &lt;iostream.h&gt; void main() { clrscr(); int a,b,*pa=&amp;a,*pb=&amp;b,z=pb-pa; ...

Создание 2D массива из объектов, используя указатели - C++
Помогите решить простую задачу. Нужно создать 2х мерный массив из объектов. Каждый объект это точка с координатой x and y. Массив должен...

Сортировка объектов через указатели, основанная на алфавитном порядке имен - C++
Нашел в книге пример сортировки объектов, содержащих поле типа string, через указатели. Сортировка основана на алфавитном порядке имен....

Массив и указатели. Вывести на экран весь массив и на отдельной строке - значение минимального элемента массива - C++
Нужна помощь, не знаю как сделать это задание. Написать программу, которая создает массив из 10 случайных целых чисел из отрезка . Вывести...

Задача на массив и указатели.(массив из случайных чисел) - C++
Найти абсолютное значение,которое чаще остальных встречается в массиве. #include&lt;stdio.h&gt; #include&lt;time.h&gt; #include&lt;stdlib.h&gt; ...

массив и указатели - C++
Дан массив целых. Сформировать по нему массив, содержащий длины всех серий (подряд идущих одинаковых элементов). Одиночные элементы считать...

Массив и указатели - C++
Доброго времени суток. Задача состоит в том, что бы отсортировать массив по возрастанию, но без использования операции индексации....

Указатели и массив - C++
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; using namespace std; int main(int argc, char *argv) { const int n...

Массив и указатели - C++
#include &lt;iostream&gt; using namespace std; int main() { int *i, t; i = t; cout &lt;&lt; i; return 0;

Одномерный массив и указатели - C++
Даны два одномерных массива (А и В).Нужно сформировать массив С, состоящий из элементов массива А,которые не включаются в В. Все операции с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Spo1ler
292 / 52 / 3
Регистрация: 22.05.2008
Сообщений: 788
27.11.2008, 15:29     Указатели на массив объектов #2
Кто тебе сказал, что обязательно? p у тя просто будет ссылатся на первый элемент. В чем проблема?
tube
0 / 0 / 0
Регистрация: 24.09.2008
Сообщений: 26
27.11.2008, 15:41  [ТС]     Указатели на массив объектов #3
в том-то и дело, что не будет.
при присвоении p = obj пишет ошибку cannot convert `samp[4][2]' to `samp*' in assignment.
(компилятор dev c++)
Vourhey
Почетный модератор
6474 / 2249 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
27.11.2008, 15:43     Указатели на массив объектов #4
Здесь обязательно показать, что это указатель. Но можно и другим способом. Например:
Код
p = &obj[0][0];
здесь я беру адрес первого объекта.
еслия напишу так:
Код
p = obj;
То должна возникнуть ошибка приведения типа
samp [4][2] к указателю samp*. Что правильно.

tube, читай про указатели.

Добавлено через 2 минуты 39 секунд
Как я четко про приведение сказал видишь, компилятор со мной согласен
tube
0 / 0 / 0
Регистрация: 24.09.2008
Сообщений: 26
27.11.2008, 15:45  [ТС]     Указатели на массив объектов #5
да, в точку спасибо за ответ!
Yandex
Объявления
27.11.2008, 15:45     Указатели на массив объектов
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru