0 / 0 / 0
Регистрация: 21.08.2017
Сообщений: 1
|
||||||
1 | ||||||
Указатели и наследование С++21.08.2017, 17:57. Показов 2199. Ответов 10
Метки нет (Все метки)
Здравствуйте. Помогите, пожалуйста, с указателями.
Относительно наследования. Сегодня наткнулся на вопрос, каким бывает наследование в С++.. О чем тут идет речь? Бывает виртуальное и обычное? или тут говориться о спецификаторах private, public, protected при наследовании(class a: public b || class a: private d etc)??
0
|
21.08.2017, 17:57 | |
Ответы с готовыми решениями:
10
наследование и указатели Написать код используя массивы, указатели, виртуальные функции, наследование, классы и т.д указатели и наследование Создать сложный класс, используя наследование (указатели, конструкторы и деструкторы) |
3437 / 2816 / 1249
Регистрация: 29.01.2016
Сообщений: 9,426
|
||||||
21.08.2017, 18:22 | 2 | |||||
Массивов тут нет, только указатели. Значение указателя t - адрес начала выделенной, через new, памяти.
Добавлено через 1 минуту *t - первый элемент в выделенной памяти, всё равно что t[0]. Добавлено через 2 минуты Если адрес переменной a , то:
0
|
875 / 461 / 91
Регистрация: 10.06.2014
Сообщений: 2,669
|
|
21.08.2017, 18:22 | 3 |
Сообщение было отмечено betaTest как решение
Решение
В первую функцию будет передана копия указателя на первый элемент массива. Никаких копий массива не будет.
Разыменование этого указателя вернёт значение первого элемента массива. Двойное разыменование указателей запрещено (кроме тех случаев когда у нас есть указатель на указатель как во второй функции) Во вторую функцию передаётся указатель на указатель. Одно разыменование (*) даст доступ к указателю на первый элемент массива, двойное разыменование вернёт значение первого элемента массива. Тройное разыменование, то есть *** тут запрещено. * - оператор разыменования указателя & - зависит от контекста. где то это оператор взятия адреса, а в некоторых случаях может быть ссылкой. Те случаи когда требуется определение сразу при объявлении, это тот случай когда & играет роль ссылки. Каким бывает наследование? Помоему вопрос неоднозначный.
0
|
Каждому свое
533 / 219 / 81
Регистрация: 05.08.2013
Сообщений: 1,614
|
|
21.08.2017, 18:36 | 5 |
betaTest,
Вы наверное что-то не правильно поняли. Наследование бывает обычное(не знаю как оно точно называется) и множественное. Больше никаких наследований я не слышал. Виртуальным может быть только метод в классе. Если метод в классе объявлен как виртуальный, это значит, что его можно переопределить в классе-наследнике и использовать в полиморфных вызовах.
0
|
Каждому свое
533 / 219 / 81
Регистрация: 05.08.2013
Сообщений: 1,614
|
|
21.08.2017, 18:45 | 8 |
nd2, Ого, это так называется. Я даже не знал
0
|
Каждому свое
533 / 219 / 81
Регистрация: 05.08.2013
Сообщений: 1,614
|
|
22.08.2017, 08:12 | 11 |
avgoor,
Да, и еще наследование может быть виртуальным Хорошо что поправили. Я просто подзабыл немного, так как редко использую множественное наследование, а в частности проблем с множественным наследованием, в которых помогает виртуальное наследование, я пока не испытывал на себе
0
|
22.08.2017, 08:12 | |
22.08.2017, 08:12 | |
Помогаю со студенческими работами здесь
11
Указатели и указатели на указатели, а также типы данных Через указатели на указатели посчитать сумму двух чисел и записать в третье В matlab есть указатели на переменные или что-нибудь похожее на указатели? Почему Лафоре использует указатели на указатели, вместо обмена значениями указателей? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |