歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> 構造函數與析構函數(C++)

構造函數與析構函數(C++)

日期:2017/3/1 10:06:17   编辑:Linux編程

構造函數與析構函數(C++)

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