close


include
using namespace std;

class Base
{
    public:
        Base()
        {
        cout << "base建構函數被呼叫" ;
        }
        ~Base()
        {
        cout << "base解構函數被呼叫" ;
        }
};

class Derived:public Base
{
    public:
        Derived()   //base() ~base()繼承父類別而來的
        {
        cout << "derived建構函數被呼叫" ;
        }
        ~Derived()
        {
        cout<< "derived解構函數被呼叫" ;
        }
};

int main()
{
    Derived a;        //base建構函數被呼叫derived建構函數被呼叫
    system("pause");
    return 0;
}                    //結束主程式時,會呼叫物件a的解構函數
                     //--->derived解構函數被呼叫base解構函數被呼叫 




#include
using namespace std;

class base
{
    protected:
    int i;
    public:
    base (int x)
    {
        i=x;
        cout<<"A";
    }
};

class derived:public base
{
    protected:
    int j;
    public:
    derived(int a, int b):base (a) //base a需參數直接在後面加上:寫base(a)
    {
        j=b;
        cout<<"B";
    }
};

int main()
{
    derived d(10,20); //10傳給a(base(10)做完在做derived(int...)) 20傳給b
    system("pause");
    return 0;
}


arrow
arrow
    全站熱搜

    fatfather 發表在 痞客邦 留言(2) 人氣()