誰かが継承された保護されたメンバーのアクセス レベルを変更できないようにする方法はありますか? 誰かがusing
派生クラスで宣言を使用して、継承された保護されたメンバーのアクセス レベルを public に上げることができます。
さて、問題はこれを防ぐ方法ですか?
例:
#include <iostream>
using namespace std;
class A {
protected:
int i(){};
};
class B : public A {
public:
using A::i;
};
int main() {
B b;
b.i();
return 0;
}
防ぐ方法
#include <iostream>
using namespace std;
class A {
private:
void i(int) {};
protected:
int i(){};
};
class B : public A {
public:
using A::i;
};
int main() {
B b;
b.i();
return 0;
}