构造函数与析构函数(C++)


构造函数与析构函数(C++)

  1. #include <iostream>  
  2. using namespace std; 
  3. enum BREED{ black, red, white, blue}; 
  4.  
  5. class mam{ 
  6.     public
  7.         mam(); 
  8.         ~mam(); 
  9.         int get_age()const { return age; } 
  10.         void set_age(int age1) {age = age1; } 
  11.         int get_weight() const { return weight; } 
  12.         void set_weight(int x) { weight = x; } 
  13.         void speak() const { cout << "mam sound!\n"; } 
  14.         void sleep() const {cout << "I'am sleeping.\n"; } 
  15.     protected
  16.         int age; 
  17.         int weight; 
  18. }; 
  19.  
  20. class dog:public mam { 
  21.     public
  22.         dog(); 
  23.         ~dog(); 
  24.         BREED get_breed()const { return its_breed; } 
  25.         void set_breed(BREED breed) { its_breed = breed; } 
  26.         void wag_tail() const { cout << "Tail wagging...\n";} 
  27.         void beg_for_food() const { cout << "begging for food...\n";} 
  28.     private
  29.         BREED its_breed; 
  30. }; 
  31.  
  32. mam::mam():age(3), weight(8) { 
  33.     cout << "mam constructor..." << endl; 
  34. mam::~mam() { 
  35.     cout << "mam destructor..." << endl; 
  36. dog::dog():its_breed(blue) { 
  37.     cout << "dog constructor..." << endl; 
  38. dog::~dog(){ 
  39.     cout << "dog destructor..." << endl; 
  40.  
  41. int main() 
  42.     dog fido; 
  43.     fido.speak(); 
  44.     fido.wag_tail(); 
  45.     cout << "fido is " << fido.get_age() << "years old" << endl; 
  46.   //  cout << fido.get_breed() <<endl;  
  47.    // fido.set_breed(white);  
  48.   //  cout << fido.get_breed() << endl;  
  49.     return 0; 

相关内容