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

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

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

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

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

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

Как создать private class?
Если я делаю просто class{} то все норм. Но когда я добавляю privat class{}, то мне в ответ (скриншот). Вопрос почему? Можно разные...

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

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

Решение

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

Добавлено через 3 минуты
illustratedd, Вообще советую почитать вот эту книжку. Многие вопросы сами собой отпадут. Эта тема не такая уж и простая, чтобы разобраться в ней за 2 минуты.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.04.2015, 19:24
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru