自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

深度了解C++編程技巧說明介紹

開發(fā) 后端
在Web開發(fā)上,C++沒有多大的市場(chǎng)。在企業(yè)級(jí)的應(yīng)用上,以Java、.NET(C#是其中重要的一員)居多,C++仍然占有一席之地。

C++中,Windows類中的Sort方法將成為ListBox類中Sort方法的基礎(chǔ)方法,在期望調(diào)用Windows類中的Sort方法時(shí),ListBox類中的Sort方法就會(huì)被調(diào)用。在C#中,虛擬函數(shù)總是被認(rèn)為是虛擬調(diào)度的根。也就是說,一旦C#發(fā)現(xiàn)一個(gè)虛擬的方法,就不會(huì)再在虛擬鏈中查找其他虛擬方法。假如ListBox再次被編譯,編譯器就會(huì)生成一個(gè)警告信息:

  1. "class1.cs(54,24): warning CS0114: 'ListBox.Sort()' hides  
  2. inherited member 'Window.Sort()'. 

要使當(dāng)前的成員覆蓋原來的方法,就需要添加override關(guān)健字,或者添加new關(guān)健字。要消除警告信息,編程人員必須搞清楚他想干什么??梢栽贚istBox類中的Sort方法前添加new,表明它不該當(dāng)覆蓋Window中的虛方法:

  1. public class ListBox : Window {  
  2. public new virtual void Sort() {"} 

這樣就可以清除警告信息。假如編程人員確實(shí)期望覆蓋掉Window中的方法,就必須使用override關(guān)健字來顯性地表明其意圖。

  1. Employee::Employee(int theAge, int theSalaryLevel):  
  2. Person(theAge) // 初始化基礎(chǔ)類  
  3. salaryLevel(theSalaryLevel) // 初始化成員變量  
  4. {  
  5. // 構(gòu)造器的代碼  
  6. }  

C#中的初始化與C++中不同。假設(shè)有一個(gè)帶有private性質(zhì)的成員變量age的Person類,Employee是由繼續(xù)Person類而生成的,它有一個(gè)private性質(zhì)的salaryLevel成員變量。在C++中,我們可以在Employee的構(gòu)造器的初始化部分初始化salaryLevel,如下面的代碼所示:

  1. Class Employee : public Person  
  2. { // 成員變量的定義  
  3. private salaryLevel = 3; // 初始化  

這種方法在C#中是非法的。盡管仍然可以初始化基礎(chǔ)類,但象上面的代碼那樣對(duì)成員變量初始化就會(huì)引起編譯錯(cuò)誤。在C#中,我們可以在定義成員變量時(shí)的同時(shí)對(duì)它進(jìn)行初始化注重:必須明確地定義每個(gè)變量的訪問權(quán)限。

但看了無數(shù)篇闡述C++復(fù)雜性的文章,和爭(zhēng)論C++復(fù)雜性的吐沫星子(包括我前段時(shí)間寫的兩篇關(guān)于C++的總結(jié))。我始終都有一個(gè)感覺——沒分析透,就跟盲人摸象一樣。正如“Why C++的一位讀者批評(píng)的,我在文章里面沒有寫明到底哪些是C++的“非本質(zhì)復(fù)雜性”。#t#

當(dāng)然,我自己憑感覺就能知道,而接觸C++一段時(shí)間的人大致也能知道,但新手乃至非新手則對(duì)我所謂的“非本質(zhì)復(fù)雜性”根本沒有一個(gè)具體的認(rèn)識(shí),這就使得那篇“Why C++脫離了原本的意圖——面向所有C++使用者和學(xué)習(xí)者。

責(zé)任編輯:chenqingxiang 來源: 天極
相關(guān)推薦

2010-01-13 10:16:42

C++軟件

2010-01-28 16:05:09

C++風(fēng)格與技巧

2010-01-11 09:56:07

C++編程實(shí)例

2010-01-12 10:40:22

C++程序員

2010-01-13 15:51:44

C++編程語言

2011-05-30 15:29:32

C++

2010-01-13 16:08:31

C++語言

2009-11-05 15:43:02

Visual Stud

2010-01-26 17:11:13

C++編程

2010-03-05 13:34:54

2010-02-24 16:44:58

Python 函數(shù)

2010-01-19 17:54:47

C++程序

2010-01-25 18:19:17

C++特性

2010-01-25 18:19:17

C++特性

2010-01-25 18:19:17

C++特性

2010-01-11 10:28:51

C++編程

2010-01-11 15:55:51

C++語言

2011-07-10 15:26:54

C++

2010-01-18 10:16:58

學(xué)習(xí)C++

2011-07-13 16:36:11

C++
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)