protected:
формируют интерфейс наследников. Поля в области private:
формируют приватное состояние. Соответственно, публичный интерфейс типа определяется через функции в области public:
. При этом, даже если в публичном интерфейсе есть константная функция-геттер, которая просто возвращает константную ссылку на приватное поле, то это не доступ к приватному полю. Это именно публичный интерфейс, который строго ограничивает возможности работы с состоянием экземпляра и именно так обеспечивает инвариантность этого состояния.Можно добавить getter-ы в interface.
// Грани кубика
Plane UpPlane;
Plane DownPlane;
Plane LeftPlane;
Plane RightPlane;
Plane FrontPlane;
Plane BackPlane;
vector<vector<vector<MiniCube>>> arr;
#include "cubeSolving.h" // алгоритмы решения
#include "rubikCube.h"
cubeSolving() = default;
cubeSolving
и ткнуть решалке решить.и одному из них придется получить свойства от друнгого.
Я подключил к заголовочному файлу другой заголовочные файл, который называется «решение кубика», но после попытки объявить элемент класса кубик в этом заголовочном файле или принять в качестве параметра функции, мне среда разработки говорит (can’t resolve type “rubikCube”), хотя я просто создаю/принимаю переменную того типа, которая у меня прописана в заголовочном файле, который я подключил.
// cube.h
...
#include ???
...
class Cube
{
...
};
// solutions.h
...
class Solution
{
...
};
я уже не могу использовать приватные поля самого кубика в тех же алгоритмах решения
реально ли это на практике и у меня просто не получается это сделать или так и должно быть?
Если сам класс кубика нельзя заставить видеть заголовочные файлы и использовать в них приватные поля кубика без наследования
Мозг человека имеет с рождения способность распознать цвета, звуки, образы, лица и кучу-кучу другой информации
Давай обратимся к документации на ссылки.
По-английски это звучит именно как reference to const.
Еще давай обратимся к документации на константность.
Константность применима для любого типа, кроме типа функции и типа ссылки.
И ниже еще:
Т.е. это не cv-ссылки, это - ссылки на cv-типы.
Разница очень большая и отсутствие понимания этой разницы вводит в заблуждение автора вопроса.