С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 2
Регистрация: 11.03.2015
Сообщений: 8
1

Как работает class className : private otherClassName {} ?

09.04.2015, 19:00. Показов 1346. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Приветствую всех. Не могу разобраться, как работает такая конструкция:
C++
1
2
3
4
5
6
class  CMD_Frame: public C37118{
    public: //
//
        protected://
//
}
Класс C37118 определен в подключаемом .h файле. Как вообще читать эту конструкцию? Как ее понимать? Заранее благодарен.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.04.2015, 19:00
Ответы с готовыми решениями:

class classname; В чем смысл?
Доброго времени. Иногда встречается код типа: namespace Compiler { class Context; } ...

В чем разница между ClassName cn и ClassName cn = new ClassName()?
Добрый день! Собственно вопрос в заголовке темы. Будьте добры расскажите пожалуйста в чем между...

Как создать private class?
Если я делаю просто class{} то все норм. Но когда я добавляю privat class{}, то мне в ответ...

Yii2 что такое Class::className() ?
Разбираю этот фраемворк по частям, изучаю его работу, не могу найти и понять что такое : 'class'...

8
32 / 32 / 14
Регистрация: 30.11.2013
Сообщений: 139
09.04.2015, 19:04 2
тут глянь
1
19409 / 10028 / 2443
Регистрация: 30.01.2014
Сообщений: 17,678
09.04.2015, 19:07 3
illustratedd, это закрытое наследование. Семантический аналог композиции.
Читать это можно так: класс CMD_Frame реализован посредством C37118.
1
3257 / 2059 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
09.04.2015, 19:08 4
DrOffset, там же ж public)
1
0 / 0 / 2
Регистрация: 11.03.2015
Сообщений: 8
09.04.2015, 19:09  [ТС] 5
0x10, И что это меняет?
0
19409 / 10028 / 2443
Регистрация: 30.01.2014
Сообщений: 17,678
09.04.2015, 19:12 6
0x10, ох ё. Спасибо. Устал я и глаз замылился

senyaarseniy, автор, поторопился ты мой ответ отмечать, я говорил про такой вариант:
C++
1
2
3
4
5
6
class  CMD_Frame : private C37118{
    public: //
//
        protected://
//
}
А твой первоначальный код - это открытое наследование. Означает, что класс CMD_Frame является разновидностью C37118, отношение родства. На более жизненной примере, класс автомобиль и класс мерседес. Между ними как раз открытое наследование, т.к. мерседес является разновидностью автомобиля.
1
3257 / 2059 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
09.04.2015, 19:13 7
DrOffset, да я тож поторопился: тут в заголовке темы одно, а в сообщении другое.
1
0 / 0 / 2
Регистрация: 11.03.2015
Сообщений: 8
09.04.2015, 19:16  [ТС] 8
Написал в заголовке так, как понимал.
0
19409 / 10028 / 2443
Регистрация: 30.01.2014
Сообщений: 17,678
09.04.2015, 19:24 9
Лучший ответ Сообщение было отмечено illustratedd как решение

Решение

illustratedd,
C++
1
class A : public B {};
Это отношение родства. А - это B. (Мерседес - это автомобиль)
C++
1
class A : private B {};
Это отношение включения. А содержит B. (Автомобиль содержит двигатель)

Добавлено через 3 минуты
illustratedd, Вообще советую почитать вот эту книжку. Многие вопросы сами собой отпадут. Эта тема не такая уж и простая, чтобы разобраться в ней за 2 минуты.
1
09.04.2015, 19:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.04.2015, 19:24
Помогаю со студенческими работами здесь

как использовать из неймспейса private class
есть какой-то неймспейсю в нем есть приват класс. можно ли создать переменную этого класса? по...

Как вызвать private class из public метода
Задача обновить блок try..catch после возобновления Painting'a private class LoadFeedTaskUrl...

Ошибка class::class() is private?
есть динамическая библиотека с классом aster_man #ifndef ASTER_MAN_H #define ASTER_MAN_H...

package private class
Как сделать класс, чтобы он был только в пределах видимости пакета (папки), в которой он лежит?


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru