class MyClass { public: int memberResult() { return 1; } static int staticResult() { return 1; } int externResult(); }; // -- int MyClass::externResult() { return 1; } // -- MyClass m; // -- enum MyEnum { myEnumOne = 1, myEnumTwo, myEnumThree }; // -- class AnotherClass { public: __attribute__ ((always_inline)) int complicatedFunction() { struct { int i; } s = { 15 }; int numbers[4] = { 2, 3, 4, 5 }; for (signed char number: numbers) { s.i -= number; } return s.i; } }; // -- class DiamondA { private: struct { int m_i; }; public: DiamondA(int i) : m_i(i) { } int accessor() { return m_i; } }; // -- class DiamondB : public virtual DiamondA { public: DiamondB(int i) : DiamondA(i) { } }; // -- class DiamondC : public virtual DiamondA { public: DiamondC(int i) : DiamondA(i) { } }; // -- class DiamondD : public DiamondB, public DiamondC { public: DiamondD(int i) : DiamondA(i), DiamondB(i), DiamondC(i) { } }; // -- int doTest() { int accumulator = m.memberResult(); accumulator += MyClass::staticResult(); accumulator += m.externResult(); accumulator += MyEnum::myEnumThree; accumulator += myEnumOne; accumulator += AnotherClass().complicatedFunction(); accumulator += DiamondD(3).accessor(); return accumulator; } // --