00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef SAMPLECLASS_H
00016 #define SAMPLECLASS_H
00017
00018
00019
00020
00021
00022
00023 #include "pandabase.h"
00024
00025 #include "localHeaderFile.h"
00026 #include "anotherLocalHeaderFile.h"
00027
00028 #include "typedObject.h"
00029 #include "anotherPandaHeaderFile.h"
00030
00031 #include <systemHeaderFile.h>
00032
00033
00034
00035
00036
00037
00038
00039
00040 class EXPCL_PANDA SampleClass : public TypedObject {
00041 public:
00042 enum NestedEnum {
00043 NE_case_one,
00044 NE_case_two,
00045 };
00046
00047 class EXPCL_PANDA NestedClass {
00048 public:
00049 int _data_member;
00050 };
00051
00052 SampleClass();
00053 INLINE SampleClass(const SampleClass ©);
00054 INLINE ~SampleClass();
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064 INLINE void set_flag(int flag);
00065 INLINE int get_flag() const;
00066
00067 int public_method();
00068
00069 protected:
00070 bool protected_method();
00071
00072 private:
00073 void private_method();
00074
00075
00076 public:
00077
00078
00079
00080
00081 bool _public_data_member;
00082
00083 private:
00084
00085 NestedEnumType _private_data_member;
00086 int _flag;
00087
00088
00089
00090
00091
00092
00093 public:
00094 static TypeHandle get_class_type() {
00095 return _type_handle;
00096 }
00097 static void init_type() {
00098 TypedObject::init_type();
00099 register_type(_type_handle, "SampleClass",
00100 TypedObject::get_class_type());
00101 }
00102 virtual TypeHandle get_type() const {
00103 return get_class_type();
00104 }
00105 virtual TypeHandle force_init_type() {init_type(); return get_class_type();}
00106
00107 private:
00108 static TypeHandle _type_handle;
00109 };
00110
00111 #include "sampleClass.I"
00112
00113 #endif