<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      sheyue

      SystemVerilog中類的五要素以及句柄、new函數作用的形象理解,函數返回值

      轉自:原文鏈接:https://blog.csdn.net/dinghj3/article/details/116583131

      剛開始學面向對象編程OOP時都會有點難以接受,但我們可以通過形象的類比來解決這個問題。
      在這里插入圖片描述

       

       


          類 class——相當于我們要蓋房的圖紙,有了這個圖紙,我們就能蓋出一堆結構類似的樓房;
          對象 object——可以理解為房子本身,這是我們根據圖紙建起來的;
          句柄 handle——房子的地址,門牌號,一個門牌號對應著一個房子,你可以通過門牌號來找到你想找的房子。用專業的話講,就是句柄是對象的指針,我們通過句柄來找到對應的對象;
          變量 properties(也叫屬性)——是房子里面的東西。我們知道,房子里可以有很多東西,也就對應著對象可以有多個變量。比如燈就是房子里的東西之一。我們可以通過燈的開關來調節房子的亮暗。
          方法 methods——用來操作變量的一段代碼。如果這個變量是燈的話,那么這段代碼對應的就是開燈和關燈兩個動作。

      下面再通過一段代碼來聊一下句柄的聲明以及new函數的形象理解。

      class Transaction;
          //變量
          ...
          //方法
      endclass:Transaction

      Transaction tr;
      tr = new();
      class Transaction;
          //變量
          ...
          //方法
      endclass:Transaction

      Transaction tr;
      tr = new();


      我們先是定義了一個類,叫做Transaction。endclass后面的:Transaction最好加上,方便在你識別了很多個類之后一眼看出邊界。

      Transaction tr;//聲明了一個句柄,叫tr
      tr = new();//創建了對象

      接下來的這兩句的作用分別是聲明了一個叫tr的句柄,以及用new函數創建了一個對象。其中,tr = new()的作用有三點:

          例化(創建)對象,也就是申請新的內存塊來保存對象的變量
          初始化變量(二值→0;四值→x)
          返回句柄

      用更通俗易懂的話來解釋上面這兩句。
      Transaction tr; 我通過這一句聲明了一個句柄,就類似于我指著xx村xx路xx號這個地址,說我準備要在這個地方蓋房子了。

      而new函數的三個作用分別可這樣理解。

          創建對象,申請新內存——我清理出了一塊空地,并把房子給蓋好了;
          初始化——我把某個品牌的洗衣機、電飯煲、燈什么的搬進去里面,新房子就有了;
          返回句柄給tr——房子弄好了,很開心,很歡迎朋友們來參觀一下,不然我累了這么久豈不是白忙活了?所以我把房子的地址(句柄tr)發在了好朋友的群聊里,之后他們就可以憑這個地址來我家玩了!他們可以用電飯煲煮香噴噴的米飯,家里的洗衣機也可以隨便用哈哈。

      new[ ]是用來設置動態數組大小的。new( )和new[ ]都是用來申請內存并初始化變量。兩者最大的不同在于調用new( )函數僅創建了一個對象,而new[ ]操作則建立一個含有多個元素的數組。new( ) 可以使用參數設置對象的數值,而new[ ]只需使用一個數值來設置數組的大小。

      關于函數返回值

      簡單的說,函數就是一個算法,有不有返回值是跟這個函數做什么的有關系。
      一般情況下,求和這類的就要返回值,比如
      int add(int a,int b)
      {
      return a+b;//這就返回a+b的和,用函數的時候,你只要傳a,b的值就得了
      }
      用的時候這樣:
      int s=add(100,200); //就把100+200也就是300的值賦給s了
      這種情況就是相當于你去A地做買東西,你肯定得拿東西回來。你拿回來的東西也就是返回值
      -------------------------------------------
      還有些不用返回值的,比如,輸出,或者給有地址的變量賦值等 這些函數前面就可以用void 表示無返回值,當然你也可以返回你想返回的。比如說成功或者失敗返回true or false.也可以隨意返回一個int型的 1或者0
      比如:
      void pri(int i)
      {
      printf("%d",i);//這個就是打印一個整型的i出來
      }
      這種就像你去A地不干什么,就去那兒吼兩句,也就不用拿什么回來了。
      還有種給有地址的變量賦值。那就相當于你去a地寄了一封信,也不用什么什么回來。

      啊,打得手累,我就這樣理解了。給是清楚點了,呵呵
      例如你要計算5+3=?,這個就需要返回值啦,但你要是排列字符之類的,就不需要返回值,因為它是對字符進行操作,沒有數字。

      ————————————————
      版權聲明:本文為CSDN博主「Hardworking_IC_boy」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
      原文鏈接:https://blog.csdn.net/dinghj3/article/details/116583131

      posted on 2022-06-06 10:17  舍月  閱讀(402)  評論(0)    收藏  舉報

      主站蜘蛛池模板: 国产精品免费看久久久| 国产中文字幕在线一区| 天天躁日日躁狠狠躁性色avq| 亚洲综合伊人久久大杳蕉| 国产综合色精品一区二区三区 | 国语精品一区二区三区| 日韩一区在线中文字幕| 日韩伦理片| AV喷水高潮喷水在线观看COM| 狠狠色噜噜狠狠狠狠色综合网 | 中文字幕一区二区三区久久蜜桃| 久久99国产精品尤物| 久久精品国产亚洲精品色婷婷| 国产高清在线男人的天堂 | 91精品亚洲一区二区三区| 免费福利视频一区二区三区高清 | 精品国产中文字幕在线| 成年女人碰碰碰视频播放| 错那县| 激情综合网激情综合网激情| 精品国产大片中文字幕| 中文字幕无码精品亚洲35| 国产成人高清精品免费软件| 国产老熟女无套内射不卡| 国产综合久久久久鬼色| 日本欧美大码a在线观看| 日韩一区二区三区一级片| 国内精品无码一区二区三区| 国产一区在线播放av| 国产精品无码a∨麻豆| 色综合亚洲一区二区小说| 亚洲日韩久热中文字幕| 日韩内射美女人妻一区二区三区| 成人国产精品日本在线观看| 福建省| 在线观看亚洲欧美日本| 秋霞鲁丝片成人无码| 上林县| 熟妇的奶头又大又长奶水视频| 乱码中字在线观看一二区| 日韩中文字幕高清有码|