1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
|
// ==ClassA.h==
class ClassA
{
public:
ClassA();
private:
int i;
float f, j;
struct ContainedStruct
{
int i;
ClassA * p;
} structVar;
};
// ==ClassA.cpp==
#include </ClassA.h>
ClassA::ClassA() : i(0), j(0.0)
{
structVar.i = 0;
ContainedStruct testStruct;
}
// ==ClassDerived.h==
class ClassBase
{
public:
int * publicMethod(int *);
int publicOverriddenMethod(int, int &);
int publicData;
protected:
long * protectedMethod(long *);
long protectedOverriddenMethod(long, long &);
long protectedData;
private:
short * privateMethod(short *);
short provateOverriddenMethod(short, short &);
short privateData;
};
class ClassDerived : public ClassBase
{
public:
int * publicMethod(int *);
int publicOverriddenMethod(int, int &);
int publicData;
protected:
long * protectedMethod(long *);
long protectedOverriddenMethod(long, long &);
long protectedData;
private:
short * privateMethod(short *);
short provateOverriddenMethod(short, short &);
short privateData;
};
//---AbstractClass.h---
class AbstractClass
{
public:
virtual ~AbstractClass();
virtual void pureVirtual() = 0;
virtual const int constPure(const int &) const = 0;
virtual void regularVirtual();
virtual const int constVirtual(const int &) const;
int data;
};
|