Всех приветствую. Недавно начал свой путь изучения C++.
Во многих программах видел такую структуру классов:
car::salon::steeringWheel::rotation(180)
Как это вообще реализуют?
Получается, что класс car наследует все методы класса salon и steerWheel?
Как это вообще работает?
Объясните, пожалуйста)
Постараюсь в кратце: есть такая штука в с++ - namespace
. Она позваляет объявлять, определять и использовать функции с одинаковым названием и сигнатурой если они в разных наймспэйсах. Они могут быть вложенными и выглядеть примерно так:
namespace alfa {
namespace beta {
int fun();
};
int fun();
};
...
alfa::fun();
alfa::beta::fun();
Это две разные функции. При этом имена классов (с которых наверно и следовало начать) и перечисления (enum) могут использоваться подобным образом:
class alfa {
enum class type{one, two};
class beta {
static beta *instance();
};
};
...
alfa::type::one;
alfa::beta::instance();
Тобишь, как видите, наследованием тут и не пахнет - просто вложенность.
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
Как правильно сравнивать два числа типа float и double? Следующий способ часто говорит, что одинаковые числа различны:
Есть ли в GCC аналог microsoft'овских property https://msdnmicrosoft