第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

問個C#問題求大蝦

問個C#問題求大蝦

長風秋雁 2018-08-01 06:05:43
請問結果是什么,然后最最重要的是解釋下原因,無限感謝,超級感謝,只有結果沒有原因的免答謝謝using System;class A{public A(){PrintFields();}public virtual void PrintFields(){}}class B:A{int x=1;int y;public B(){y=-1;}public override void PrintFields(){Console.WriteLine("x={0},y={1}",x,y);}當使用new B()創(chuàng)建B的實例時,產生什么輸出?
查看完整描述

1 回答

?
慕碼人8056858

TA貢獻1803條經驗 獲得超6個贊

輸出:

x=1, y=0

 

原因:

1、構造一個類的時候,先初始化類成員(先基類后派生類),x變量在定義的時候初始化了值為1

2、調用構造函數的時候,是先運行基類的構造函數。雖然B中對y賦值為1,但是,在調用A的構造執(zhí)行打印輸出的時候,還沒有執(zhí)行這賦值語句

3、在.NET中,要求變量先賦值后使用,這個是為了安全,并非絕對。任何類型的變量在未賦值前都有一個默認的初始值,數值類型的初始值是0.


查看完整回答
反對 回復 2018-08-06
  • 1 回答
  • 0 關注
  • 437 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號