构造函数与析构函数举例

来源:互联网 发布:模拟电路软件 编辑:程序博客网 时间:2024/05/15 23:51
#include <iostream>using namespace std;enum BREED {GOLDEN,CAIRN,BUAG};class Mammal{public:Mammal();~Mammal();// 存取器成员函数,int GetAge() const {return itsAge;}void SetAge(int age) { itsAge = age;}int GetWeight() const { return itsWeight;}void SetWeight(int weight) { itsWeight = weight;}void Speak() const {cout << "Mammal的声音!\n";}void Sleep() const { cout << "I'm Sleeping.\n";}protected:int itsAge;int itsWeight;};class Dog : public Mammal{public:Dog();~Dog();BREED GetBreed() const { return itsBreed;}void SetBreed(BREED breed) { itsBreed = breed;}void WagTail() const { cout << "Tail wagging... \n"; }void BegForFood() const { cout << "Begging for food ..\n"; }private:BREED itsBreed;};Mammal::Mammal() : itsAge(2), itsWeight(5){cout << "Mammal的构造函数被调用。" << endl;}Mammal::~Mammal(){cout << "~Mammal析构函数被调用。" << endl;}Dog::Dog() : itsBreed(GOLDEN){cout << "Dog的构造函数被调用。" << endl;}Dog::~Dog(){cout << "~Dog的析构函数被调用。" << endl;}int main(){Dog a;a.Speak();a.WagTail();cout << "a is " << a.GetAge() << " years ago." << endl; return 0;}

0 0
原创粉丝点击