вопрос про наследование и доступ к унаследованному члену объ
От: emergenter Россия  
Дата: 17.09.15 12:47
Оценка:
Подскажите пожалуйста, как обратиться к 10-му элементу массиву унаследованного объекта?

class base
{
public:

int mas[1024];

};


class my_class : base
{
 public:

};


main.cpp:
----------

my_class   obj;


Как обратиться к 10 элементу массива?
obj.mas[10];
Отредактировано 21.09.2015 9:56 Кодт . Предыдущая версия .
Re: вопрос про наследование и доступ к унаследованному члену объекта
От: Kernan Ниоткуда https://rsdn.ru/forum/flame.politics/
Дата: 17.09.15 13:08
Оценка: +1 :)
Здравствуйте, emergenter, Вы писали:

E>Как обратиться к 10 элементу массива?

E>obj.mas[10];
Прочитать в книжке главу про наследование и его виды и подумать. Ещё не мешает прочитать в книжке главу про массивы.
Sic luceat lux!
Re: вопрос про наследование и доступ к унаследованному члену объекта
От: szag  
Дата: 17.09.15 13:25
Оценка: 3 (1) +1
Здравствуйте, emergenter, Вы писали:

E>Подскажите пожалуйста, как обратиться к 10-му элементу массиву унаследованного объекта?


E>Как обратиться к 10 элементу массива?

E>obj.mas[10];
class base
{
public:

int mas[1024];

};


class my_class : public base
{
public:

};
Re: вопрос про наследование и доступ к унаследованному члену объекта
От: Панда Россия  
Дата: 17.09.15 15:09
Оценка: :))) :))) :))) :))) :))) :))
Здравствуйте, emergenter, Вы писали:

E>Как обратиться к 10 элементу массива?

E>obj.mas[10];

В С++ есть хитрость: чтобы обратиться к десятому элементу массива, надо обращаться к девятому.
Форма обращения такая: "Товарищ девятый элемент массива, разрешите обратиться к десятому элементу?"
Re: вопрос про наследование и доступ к унаследованному члену объекта
От: Molchalnik  
Дата: 18.09.15 09:20
Оценка:
Здравствуйте, emergenter, Вы писали:


E>Как обратиться к 10 элементу массива?

E>obj.mas[10];
1. Сделать геттер (=функцию доступа) и разместить его в секции public. Можно сделать красиво, переопределив оператор [], тогда можно будет обращаться к десятому элементу obj[9];
2. Учесть, что 10 элемент имеет индекс 9, т.к. индексация с нуля — если хочется индексацию с 1, то нужно подправить геттер, добавив увеличение индекса на 1
3. Если геттер будет в базовом классе, то наследовать его надо с ключевым словом public
4. Обязательно прочитай какую-нибудь книжку по C++. Если лень читать длинные книги — прочитай короткую, например "Фридман, С++ не для чайников". Потом можно страуструпа
Re: вопрос про наследование и доступ к унаследованному члену объекта
От: MasterZiv СССР  
Дата: 18.09.15 15:22
Оценка:
Здравствуйте, emergenter, Вы писали:

E>Подскажите пожалуйста, как обратиться к 10-му элементу массиву унаследованного объекта?




E>class base

E>{
E>public:

E>int mas[1024];


E>};



E>class my_class : base


Должно быть

class my_class : public base

чтобы работало, как ты хочешь.

Но советы про почитать книжки не вредны для тебя.
Re[2]: вопрос про наследование и доступ к унаследованному члену объекта
От: Mr.Delphist  
Дата: 18.09.15 16:32
Оценка: :))
Здравствуйте, Панда, Вы писали:

П>В С++ есть хитрость: чтобы обратиться к десятому элементу массива, надо обращаться к девятому.

П>Форма обращения такая: "Товарищ девятый элемент массива, разрешите обратиться к десятому элементу?"

Иначе придёт генерал Протекшн Фаулт
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.