У меня есть базовый класс C++ с частной std :: map, query_map
, который заполнен новыми указателями на конструкцию. В деструкторе я просматриваю и удаляю все указатели, чтобы избежать утечек памяти. Производные классы будут реализовывать чистую виртуальную функцию из базового класса, и я хочу, чтобы реализации этой функции имели доступ для чтения к query_map
, но не имели доступа на запись (так как это приведет к тому, что деструктор будет seg-fault). Естественно, я думал о создании чистой виртуальной функции const, но это блокирует все переменные-члены, а также не-константные функции-члены, когда я действительно хочу сделать только query_map
const. Я не могу использовать C++ 11 или выше из-за нашей целевой платформы и кросс-компилятора.CPP Класс Write-Protect Member
Выполняет полную функцию const действительно мой единственный вариант?
Что вы пытаетесь сказать? Было бы лучше вставить код! – CinCout
Вы даже прочитали его? Это не проблема с моим кодом, это проблема с выбором правильных абстракций и защит для моего кода ... – RPGillespie
Имя переменной ('query_map') звучит как имя метода! Я был смущен! – CinCout