C++相談室 part10
■ このスレッドは過去ログ倉庫に格納されています
0009デフォルトの名無しさん
NGNGクラスBとクラスCで、using宣言を行っていますが、これは一見protected属性
の関数print()をpublicなアクセス属性に変換しているように見えるのですが、
そのように考えてよいのでしょうか。
#include <iostream>
using namespace std;
class A {
int i;
protected:
void print() const { cout << i << endl; }
public:
A() { i = 111; }
};
class B : protected A {
public:
using A::print; // void print() const { A::print(); }
};
class C : protected B {
public:
using B::print; // void print() const { A::print(); }
};
int main()
{
B b;
C c;
b.print();
c.print();
}
■ このスレッドは過去ログ倉庫に格納されています