codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
class A { public: virtual ~A() {} virtual void funcA1() = 0; virtual void funcA2() = 0; }; class B { public: virtual ~B() {} virtual void funcB1() = 0; virtual void funcB2() = 0; virtual void funcB3() = 0; }; class C { public: virtual ~C() {} virtual void funcC1() = 0; virtual void funcC2() = 0; virtual void funcC3() = 0; }; class ISuper { public: virtual ~ISuper() {} virtual A * interfaceA() = 0; virtual B * interfaceB() = 0; virtual C * interfaceC() = 0; }; class FirstSuper : public ISuper , public A , public B { public: virtual ~FirstSuper() {} virtual A * interfaceA() { return this; } virtual B * interfaceB() { return this; } virtual C * interfaceC() { return 0; } virtual void funcA1() {} virtual void funcA2() {} virtual void funcB1() {} virtual void funcB2() {} virtual void funcB3() {} }; int main(int argc, char * argv[]) { ISuper * super = new FirstSuper; super->interfaceA()->funcA1(); super->interfaceA()->funcA2(); super->interfaceB()->funcB1(); super->interfaceB()->funcB2(); super->interfaceB()->funcB3(); }
Private
[
?
]
Run code
Submit