在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ C++/ 類(lèi)的靜態(tài)成員
類(lèi)的訪(fǎng)問(wèn)修飾符
D語(yǔ)言運(yùn)算符
D語(yǔ)言邏輯運(yùn)算符
類(lèi)指針
D語(yǔ)言元組
D語(yǔ)言指針
D語(yǔ)言模塊
D語(yǔ)言sizeof運(yùn)算符
D語(yǔ)言混合類(lèi)型
D語(yǔ)言封裝
D語(yǔ)言條件編譯
類(lèi)的靜態(tài)成員
D語(yǔ)言do...while循環(huán)
D語(yǔ)言結(jié)構(gòu)體
重載
D語(yǔ)言字符串-String
D語(yǔ)言決策語(yǔ)句
D語(yǔ)言接口
D語(yǔ)言for循環(huán)
D語(yǔ)言switch語(yǔ)句
D語(yǔ)言關(guān)聯(lián)數(shù)組
D語(yǔ)言范圍
D語(yǔ)言枚舉Enums
契約式編程
D語(yǔ)言并發(fā)
D語(yǔ)言開(kāi)發(fā)環(huán)境設(shè)置
D語(yǔ)言別名
D語(yǔ)言常值
D語(yǔ)言常量
D語(yǔ)言函數(shù)
D語(yǔ)言if嵌套語(yǔ)句
D語(yǔ)言循環(huán)
D語(yǔ)言概述,D語(yǔ)言是什么?
D語(yǔ)言運(yùn)算符優(yōu)先級(jí)
D語(yǔ)言continue語(yǔ)句
D語(yǔ)言異常處理
D語(yǔ)言break語(yǔ)句
D語(yǔ)言if...else語(yǔ)句
D語(yǔ)言類(lèi)和對(duì)象
類(lèi)繼承
D語(yǔ)言字符
D語(yǔ)言教程
D語(yǔ)言關(guān)系運(yùn)算符
比較操作符重載
構(gòu)造函數(shù)和析構(gòu)函數(shù)
D語(yǔ)言抽象類(lèi)
D語(yǔ)言if語(yǔ)句
D語(yǔ)言賦值運(yùn)算符
D中算術(shù)運(yùn)算符
D語(yǔ)言類(lèi)成員函數(shù)
D語(yǔ)言位運(yùn)算符
D語(yǔ)言變量
D語(yǔ)言數(shù)據(jù)類(lèi)型
D語(yǔ)言文件I/O
D語(yǔ)言數(shù)組
一元運(yùn)算符重載
D語(yǔ)言嵌套switch語(yǔ)句
D語(yǔ)言基本語(yǔ)法
二元運(yùn)算符重載
this指針
D語(yǔ)言聯(lián)合體
D語(yǔ)言模板
D語(yǔ)言嵌套循環(huán)
D語(yǔ)言while循環(huán)

類(lèi)的靜態(tài)成員

我們可以使用static關(guān)鍵字定義類(lèi)的靜態(tài)成員。當(dāng)我們聲明一個(gè)類(lèi)的成員為靜態(tài)它意味著無(wú)論有多少的類(lèi)的對(duì)象被創(chuàng)建,有靜態(tài)成員只有一個(gè)副本。

靜態(tài)成員是由類(lèi)的所有對(duì)象共享。所有靜態(tài)數(shù)據(jù)被初始化為零,創(chuàng)建所述第一對(duì)象時(shí),如果沒(méi)有其他的初始化存在。我們不能把它的類(lèi)的定義,但它可以在類(lèi)的外部被初始化為通過(guò)重新聲明靜態(tài)變量做在下面的示例中,使用范圍解析運(yùn)算符::來(lái)確定它屬于哪個(gè)類(lèi)。

讓我們?cè)囋囅旅娴睦泳兔靼琢遂o態(tài)數(shù)據(jù)成員的概念:

import std.stdio;

class Box
{
   public:
      static int objectCount = 0;
      // Constructor definition
      this(double l=2.0, double b=2.0, double h=2.0)
      {
         writeln("Constructor called.");
         length = l;
         breadth = b;
         height = h;
         // Increase every time object is created
         objectCount++;
      }
      double Volume()
      {
         return length * breadth * height;
      }
   private:
      double length;     // Length of a box
      double breadth;    // Breadth of a box
      double height;     // Height of a box
};



void main()
{
   Box Box1 = new Box(3.3, 1.2, 1.5);    // Declare box1
   Box Box2 = new Box(8.5, 6.0, 2.0);    // Declare box2

   // Print total number of objects.
   writeln("Total objects: ",Box.objectCount);

}

當(dāng)上面的代碼被編譯并執(zhí)行,它會(huì)產(chǎn)生以下結(jié)果:

Constructor called.
Constructor called.
Total objects: 2

靜態(tài)函數(shù)成員:

通過(guò)聲明一個(gè)函數(shù)成員為靜態(tài)的,把它獨(dú)立于類(lèi)的任何特定對(duì)象。靜態(tài)成員函數(shù)可以被調(diào)用,即使存在的類(lèi)的任何對(duì)象和靜態(tài)函數(shù)使用類(lèi)名和作用域解析運(yùn)算符::訪(fǎng)問(wèn)。

靜態(tài)成員函數(shù)只能訪(fǎng)問(wèn)靜態(tài)數(shù)據(jù)成員,其他的靜態(tài)成員函數(shù),并從類(lèi)以外的任何其他功能。

靜態(tài)成員函數(shù)有一個(gè)類(lèi)范圍,他們沒(méi)有進(jìn)入這個(gè)指針之類(lèi)的??梢允褂靡粋€(gè)靜態(tài)成員函數(shù)來(lái)判斷是否已創(chuàng)建或不是類(lèi)的一些對(duì)象。

讓我們?cè)囋囅旅娴睦泳兔靼琢遂o態(tài)成員函數(shù)的概念:

import std.stdio;

class Box
{
   public:
      static int objectCount = 0;
      // Constructor definition
      this(double l=2.0, double b=2.0, double h=2.0)
      {
         writeln("Constructor called.");
         length = l;
         breadth = b;
         height = h;
         // Increase every time object is created
         objectCount++;
      }
      double Volume()
      {
         return length * breadth * height;
      }
      static int getCount()
      {
         return objectCount;
      }
   private:
      double length;     // Length of a box
      double breadth;    // Breadth of a box
      double height;     // Height of a box
};



void main()
{

   // Print total number of objects before creating object.
   writeln("Inital Stage Count: ",Box.getCount());

   Box Box1 = new Box(3.3, 1.2, 1.5);    // Declare box1
   Box Box2 = new Box(8.5, 6.0, 2.0);    // Declare box2

   // Print total number of objects after creating object.
   writeln("Final Stage Count: ",Box.getCount());
}

讓我們編譯和運(yùn)行上面的程序,這將產(chǎn)生以下結(jié)果:

Inital Stage Count: 0
Constructor called.
Constructor called.
Final Stage Count: 2