例5-1单继承
#includeusing namespace std; class Base { private: int b1; protected: int b2; public: void set(int m, int n) { b1 = m; b2 = n; } void show() { cout << "b1=" << b1 << endl; cout << "b2=" << b2 << endl; } }; class Derived :public Base //声明一个公有派生 { private: int d; public: void setall(int m, int n, int l) { set(m, n); d = l; } void showall() { //cout<<"b1="< Derived obj; obj.setall(30, 40, 50); obj.show(); obj.showall(); return 0; }
构造函数与析构函数的调用次序
//构造函数与析构函数的调用次序 #includeusing namespace std; class Member { public: Member() { cout << "constructing Membern"; } ~Member() { cout << "destructing Membern"; } }; class Base { public: Base() { cout << "constructing Basen"; } ~Base() { cout << "destructing Basen"; } }; class Derived :public Base//派生类定义 { private: Member mem; public: Derived() { cout << "constructing Derivedn"; } ~Derived() { cout << "destructing Derivedn"; } }; int main() { Derived obj; return 0; }
基类带参构造函数调用示例
#includeusing namespace std; class Base { private: int x; public: Base(int i) { x = i; cout << "constructing Basen"; } void show() { cout << "x=" << x << endl; } }; class Derived :public Base//派生类定义公有 { private: Base d;//Base类的对象成员 public: Derived(int i) :Base(i), d(i)//基类对象成员构造函数的调用 { cout << "constructing Deriverdn"; } }; int main() { Derived obj(100); obj.show(); return 0; }



