C++对象的生活生计期

    添加时间:2013-5-15 点击量:

    不合存储的对象生活生计期不合。所谓对象的生活生计期是指对象从被创建开端到被开释为止的时候。
     按生活生计期的不合对象可分为如下三种:

    1、局部对象:当对象被定义时调用机关函数,该对象被创建,当法度退出定义该对象地点的函数体或法度块时,调用析构函数,开释该对象。


    2、静态对象:当法度第一次履行所定义的静态对象时,该对象被创建,当法度停止时,该对象被开释。


    3、全局对象:当法度开端时,调用机关函数创建该对象,当法度停止时调用析构函数开释该对象。


    局部对象是被定义在一个函数体或法度块的,它的感化域小,生活生计期也短。


    静态对象是被定义在一个文件中,它的感化域从定义时起到文件停止时为止,它的感化域斗劲大,它的生活生计期也斗劲大。



    #include <iostream>
    
    using namespace std;

    int i = 1; //i为全局变量,具有静态生活生计期
    int main()
    {
    static int a; //a为静态局部变量,具有全局寿命,局部可见
    int b=-10; //b,c为局部变量,具有动态生活生计期
    int c=0;

    void other(void);

    cout
    <<-----MAIN------<<endl;
    cout
    <<i=<<i<< a=<<a<< b=<<b<< c=<<c<<endl;

    c
    =c+8;
    other();
    cout
    <<-----MAIN-------<<endl;
    cout
    <<i=<<i<< a=<<a<< b=<<b<< c=<<c<<endl;

    i
    =i+10;
    other();
    return 0;

    }

    void other(void
    {
    //a,b为静态局部变量,具有全局寿命,局部可见,只第一次进入函数是被初始化
    static int a=2;
    static int b;

    int c=10;
    a
    = a+2;
    i
    =i+32;
    c
    = c+5;

    cout
    <<-----OTHER-----<<endl;
    cout
    <<i=<<i<< a=<<a<< b=<<b<< c=<<c<<endl;
    b
    =a;

    }


    运行成果



    具有静态、动态生活生计期对象的时钟法度



    #include <iostream>
    

    using namespace std;

    class Clock
    {
    public:
    Clock();
    void SetTime(int NewN,int NewM,int NewS);
    void ShowTime();
    ~Clock(){}
    private:
    int Hour,Minute,Second;
    };

    Clock::Clock()
    {

    }

    void Clock::SetTime(int NewN,int NewM,int NewS)
    {
    Hour
    = NewN;
    Minute
    = NewM;
    Second
    = NewS;
    }

    void Clock::ShowTime()
    {
    cout
    <<Hour<<:<<Minute<<:<<Second<<endl;
    }

    Clock globClock;

    int main(int argc, char argv[])
    {

    cout
    <<First Time Output:<<endl;

    globClock.ShowTime();
    globClock.SetTime(
    81015);
    Clock myClock(globClock);

    cout
    <<Second Time Output:<<endl;
    myClock.ShowTime();
    return 0;
    }


    运行成果:

    无论对感情还是对生活,“只要甜不要苦”都是任性而孩子气的,因为我们也不完美,我们也会伤害人。正因为我们都不完美,也因为生活从不是事事如意,所以对这些“瑕疵”的收纳才让我们对生活、对他人的爱变得日益真实而具体。—— 汪冰《世界再亏欠你,也要敢于拥抱幸福》
    分享到: