Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- class Dummy {
- public:
- char val;
- Dummy() { val = 'D'; }
- void set(char c) { val = c; }
- char get_val() { return val; }
- };
- class DummyA : public Dummy {
- public:
- DummyA() { val = 'A'; }
- char get_a() { return 'A'; }
- };
- class DummyB : public Dummy {
- public:
- DummyB() { val = 'B'; }
- char get_b() { return 'B'; }
- };
- class DummyWrapper {
- public:
- Dummy *d;
- void set_d(char val) {
- d = val;
- }
- };
- class DummyWrapperA : public DummyWrapper {
- public:
- DummyWrapperA() {
- d = new DummyA;
- }
- };
- class DummyWrapperB : public DummyWrapper {
- public:
- DummyWrapperB() {
- d = new DummyB;
- }
- };
- int main() {
- DummyWrapperA *thing;
- thing = DummyWrapperA;
- cout << thing->d->get_a() << "\n";
- DummyWrapperB *thing2;
- thing2 = DummyWrapperB;
- cout << thing2->d->get_b() << "\n";
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement