九九热这里直有精品,1区二区三区在线播放,玖玖爱在线观看资源,国产aⅴ综合网,午夜福利男女,日本亚洲欧美三级,日韩无码黄色导航,内射少妇13区,中文字幕高清网

您身邊的軟件定制專家--9年開發(fā)經(jīng)驗為您護航

18678812288
0531-88887250

C\C++與Java中的static關(guān)鍵字

文章作者:濟南軟件開發(fā) 時間:2016年11月08日

  C\C++里面的static:

  面向過程的static:

  在c和c++面向過程的設(shè)計里,在全局變量前加上static關(guān)鍵字則可將該變量定義為一個靜態(tài)全局變量,比如:

  static int a;

  那么c和c++中的靜態(tài)全局變量有什么特點呢:

  1、變量在全局數(shù)據(jù)區(qū)分配內(nèi)存(局部變量在棧內(nèi),通過new和malloc動態(tài)分配的變量在堆里);

  2、未經(jīng)初始化的全局變量會被程序自動初始化為0;

  3、靜態(tài)全局變量或函數(shù)在聲明它的文件內(nèi)是可見的,在文件外是不可見的;(可以起到保護作用)

  講講第三點,如果我們只是在某個頭文件中聲明了一個普通的全局變量a,那么在引用這個頭文件的時候,我們也可以通過extern關(guān)鍵字將這個變量引用到當前文件中;但是如果你在聲明那個變量的時候就加了static關(guān)鍵字,那么全局變量a對于其他任何文件都是不可見的。

  同樣的,如果以static方式定義了一個函數(shù),那么這個函數(shù)只在定義它的文件內(nèi)可見。

  面向?qū)ο蟮膕tatic:

  在面向?qū)ο笤O(shè)計里面,使用static有幾點要注意:

  1、靜態(tài)成員函數(shù)的聲明在類內(nèi)要加上static關(guān)鍵字,但是在類外實現(xiàn)的時候不需要;

  2、靜態(tài)成員函數(shù)沒有this指針,所以不要嘗試顯示或隱式地在靜態(tài)成員函數(shù)內(nèi)引用這個指針,這種做法會導(dǎo)致編譯期間報錯。因此也就不要嘗試些什么在構(gòu)造函數(shù)中給靜態(tài)成員變量初始化的動作了。

  下面寫個小例子感受一下面向?qū)ο蟮膕tatic:

  首先定義一個頭文件account.h,在頭文件中定義一個類:

  #pragma once

  class Account

  {

  public:

  static void reiseInterest(double var );

  static double interest(){return dInterest; }   //類內(nèi)給出實現(xiàn),語句簡單,無遞歸,與類外實現(xiàn)并聲明為inline函數(shù)都是相同的,均為內(nèi)聯(lián)函數(shù)

  private:

  static double dInterest ;

  };

  double Account::dInterest = 5;                  //靜態(tài)數(shù)據(jù)成員初始化

  inline void Account::reiseInterest(double var)

  {

  dInterest += var;

  }

  接著在源文件中進行測試:

  #include <iostream>

  #include "account.h"

  using namespace std;

  int main()

  {

  //double Account::dInterest = 5;        //錯誤!!static關(guān)鍵字限制了可視域??!

  cout<<"The initial interest is "<<Account::interest()<<endl;

  Account ac1;

  Account ac2;

  ac1.reiseInterest(18);

  ac2.reiseInterest(17);

  cout<<"The current interest is "<<Account::interest()<<endl;

  return 0;

  }

  運行結(jié)果如下:

       C\C++與Java中的static關(guān)鍵字

想要了解更多詳情歡迎來電咨詢18678812288
登陸網(wǎng)址:m.h6244.cn。
聯(lián)系人:王經(jīng)理。

临沧市| 南安市| 桃园市| 拜泉县| 莲花县| 张北县| 霍城县| 武冈市| 延庆县| 开江县| 翼城县| 宣威市| 宁城县| 新营市| 晋江市| 临湘市| 陇南市| 邢台县| 噶尔县| 文化| 固阳县| 勃利县| 忻城县| 思南县| 雅江县| 天等县| 南安市| 故城县| 九台市| 栾城县| 祁门县| 休宁县| 阳泉市| 札达县| 揭西县| 锡林郭勒盟| 永康市| 从江县| 土默特左旗| 富民县| 石楼县|