1 #include "abstract_class.h"
2 
3 #if GOLDEN_MEMBER_DIFF
4 #define CLASS_MEMBERS \
5     long long speaker_long_long; \
6     long long * speaker_long_long_star;
7 #elif GOLDEN_MEMBER_FAKE_DIFF
8 #define CLASS_MEMBERS \
9     char32_t  speaker_uint_t;\
10     float *speaker_float_star;
11 #elif GOLDEN_MEMBER_INTEGRAL_TYPE_DIFF
12 #define CLASS_MEMBERS \
13     float speaker_float;\
14     float *speaker_float_star;
15 #elif GOLDEN_MEMBER_CV_DIFF
16 #define CLASS_MEMBERS \
17     unsigned int speaker_uint_t;\
18     const float *const_speaker_float_star;
19 #elif GOLDEN_CHANGE_MEMBER_NAME_SAME_OFFSET
20 #define CLASS_MEMBERS \
21     unsigned int speaker_uint_t_;\
22     float *speaker_float_star_;
23 #else
24 #define CLASS_MEMBERS \
25     unsigned int speaker_uint_t; \
26     float *speaker_float_star;
27 #endif
28 
29 #if GOLDEN_CHANGE_INHERITANCE_TYPE
30 class LowVolumeSpeaker : public virtual SuperSpeaker {
31 #else
32 class LowVolumeSpeaker : public SuperSpeaker {
33 #endif
34  public:
35   virtual void Speak() override;
36   virtual LISTEN_RETURN_TYPE Listen() override;
37 #if GOLDEN_CHANGE_MEMBER_ACCESS
38  private:
39 #else
40  public:
41 #endif
42   CLASS_MEMBERS
43 };
44