aboutsummaryrefslogtreecommitdiffstats
path: root/tests/libsample/multiple_derived.h
diff options
context:
space:
mode:
authorMarcelo Lira <marcelo.lira@openbossa.org>2009-11-04 16:39:32 -0300
committerHugo Lima <hugo.lima@openbossa.org>2009-11-04 16:43:07 -0200
commit83c91cc8e7a90946466d0f4b94b7d9c7a93cb5ae (patch)
tree1032db443e659c199d73f7e0df61dcc1fb3c7567 /tests/libsample/multiple_derived.h
parentd396d1233effb0eb4c2fbe777237dbeef6b68d53 (diff)
improved the multiple inheritance test with two new methods that cast
their instance of MDerived to MBase1 and MBase2; also did some refactors and commented the unit test Reviewed by Hugo Parente <hugo.lima@openbossa.org>
Diffstat (limited to 'tests/libsample/multiple_derived.h')
-rw-r--r--tests/libsample/multiple_derived.h21
1 files changed, 12 insertions, 9 deletions
diff --git a/tests/libsample/multiple_derived.h b/tests/libsample/multiple_derived.h
index d73ca5cfa..531cdb28d 100644
--- a/tests/libsample/multiple_derived.h
+++ b/tests/libsample/multiple_derived.h
@@ -35,34 +35,37 @@
#ifndef MDERIVED_H
#define MDERIVED_H
-class MBase
+class MBase1
{
public:
- ~MBase() {}
- virtual const char *name() { return "Base"; }
+ ~MBase1() {}
+ virtual const char* name() { return "MBase"; }
};
class MBase2
{
public:
~MBase2() {}
- virtual const char *funcName() { return "Base2.funcName"; }
+ virtual const char* funcName() { return "MBase2.funcName"; }
};
-class MDerived : public MBase, public MBase2
+class MDerived : public MBase1, public MBase2
{
public:
MDerived();
virtual ~MDerived();
- // Base methods
+ // MBase1 methods
const char* name();
- // Base2 methods
+ // MBase2 methods
const char* funcName();
- MDerived* transformFromBase2(MBase2 *self);
- MDerived* transformFromBase(MBase *self);
+ MBase1* castToMBase1();
+ MBase2* castToMBase2();
+
+ static MDerived* transformFromBase1(MBase1 *self);
+ static MDerived* transformFromBase2(MBase2 *self);
};
#endif // MDERIVED_H