Files
codeql/cpp/ql/test/library-tests/access/DerivationAccess/DerivationAccess.cpp
2018-08-02 17:53:23 +01:00

69 lines
975 B
C++

namespace ambiguous {
class Duplicated {};
class Intermediate: public Duplicated {};
class C: protected Duplicated, public Intermediate {};
}
namespace chain {
class C {
public: static void pubC();
protected: static void protC();
private: static void priC();
};
class D: public C {
private: static void priD();
};
class E: protected D {};
class F: public E {};
}
namespace diamond {
class Top {
public: static void pub();
protected: static void prot();
};
class Left: private Top {};
class Right: public Top {};
class Bottom: public Left, protected Right {};
class Alone {
Alone();
};
}
namespace friend_class {
class A {
};
class B : private A {
friend class D1;
friend class D2;
public:
void fun() {};
};
class C : private B {
public:
void fun() {};
};
class D1 : private C {
public:
void fun() {};
};
class D2 : private B {
protected:
void fun() {};
};
}