Linux教程網
構造函數與析構函數(C++)
- #include <iostream>
- using namespace std;
- enum BREED{ black, red, white, blue};
-
- class mam{
- public:
- mam();
- ~mam();
- int get_age()const { return age; }
- void set_age(int age1) {age = age1; }
- int get_weight() const { return weight; }
- void set_weight(int x) { weight = x; }
- void speak() const { cout << "mam sound!\n"; }
- void sleep() const {cout << "I'am sleeping.\n"; }
- protected:
- int age;
- int weight;
- };
-
- class dog:public mam {
- public:
- dog();
- ~dog();
- BREED get_breed()const { return its_breed; }
- void set_breed(BREED breed) { its_breed = breed; }
- void wag_tail() const { cout << "Tail wagging...\n";}
- void beg_for_food() const { cout << "begging for food...\n";}
- private:
- BREED its_breed;
- };
-
- mam::mam():age(3), weight(8) {
- cout << "mam constructor..." << endl;
- }
- mam::~mam() {
- cout << "mam destructor..." << endl;
- }
- dog::dog():its_breed(blue) {
- cout << "dog constructor..." << endl;
- }
- dog::~dog(){
- cout << "dog destructor..." << endl;
- }
-
- int main()
- {
- dog fido;
- fido.speak();
- fido.wag_tail();
- cout << "fido is " << fido.get_age() << "years old" << endl;
- // cout << fido.get_breed() <<endl;
- // fido.set_breed(white);
- // cout << fido.get_breed() << endl;
- return 0;
- }
Copyright ©
Linux教程網 All Rights Reserved