1: class String
2: {
3: public:
4: String()
5: {
6: cout << "String::String()" << endl;
7: }
8: String(String& str)
9: {
10: m_value = str.m_value;
11: cout << "String::String(String& str)" << endl;
12: }
13: ~String(){}
14: String& operator=(String& src)
15: {
16: m_value = src.m_value;
17: cout << "String::operator =" << endl;
18: return *this;
19: }
20: protected:
21: int m_value;
22: };
23:
24: class Base
25: {
26: public:
27: Base(String& str);
28: Base(String& str, int flag);
29: ~Base(){}
30: protected:
31: String m_string;
32: const int m_flag;
33: };
34:
35: Base::Base(String& str)
36: {
37: m_string = str;
38: }
39:
40: Base::Base(String& str, int flag):m_string(str), m_flag(flag)
41: {
42: }
最新评论