DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> AJAX入門 >> AJAX詳解 >> 構造函數(新手寫給新手)
構造函數(新手寫給新手)
編輯:AJAX詳解     

看一個我們常見的例子:

int a=2;           //a是變量名

int a(2);          //這個對於新手可能不常見,a是函數名

int b(a);          //用a作為b()的形參來初始化b()

無論哪一句a都被賦值2,試想如果我們也能造出一個自定義類型也能夠像int這樣工作,甚至有更多功能的話,那有多麼酷~~!!!

先來YY一下:

Cool a(2,3);

這裡Cool和int是完全一樣的類型,而且a被2,3共同作用初始化,這不比一個光用2初始化更有意思嗎?

面向對象的兩大原則就是:1、萬物皆對象
 
                                                2、每個對象都有一個類

類(class)和類型(type)是同義詞,所以我們定義一個類Cool和int都是類,是一樣的,只不過int是別人定義好了的,而Cool是自定義的。

那麼怎麼用C++語言來描述呢?請看下例:

Class Cool     // 聲明類Cool

{
   /*.....省略,無構造函數....*/ 
};

main()
 
{
    Cool b;    // 建立對象b

}

請問對象b的類型是什麼?對了,是Cool !好,反過來int a中a在面向對象的語境中是什麼?

呵呵,是int類的對象或者叫實例!從現在起換個方式看待 int a 吧!

現在我們將要定義Cool類,它的使用方法將和平時常見的int類一樣,還有更多功能呢!

如果沒有構造函數的話,我們只能寫成:

{
    public:
           int fun(int a=0,int b=0){A=a;B=b;}

           int GetA(){return A;}                //我們取出A來觀察結果
    private:
           int A,B;
};
main()
{
   Cool myCool;
   myCool.fun(3,4);                              //這裡是調用對象myCool裡的函數還是沒有實現Cool a(3,4)的夢想~~~
   cout<<myCool.GetA()<<endl;
}


如果用構造函數

#include <iOStream.h>
class Cool

{
  public:
         Cool(int a=0,int b=0){A=a;B=b;}          //構造函數
         int GetA(){return A;}
         int A,B;
};

main()
{
   Cool x(3,4);           //可以了!
   Cool y(x);
   cout<<y.GetA<<endl;
}


後面寫得不太詳細,以後在改寫

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved