當前位置:編程學習大全網 - 編程語言 - c++和C有哪些10的區別?。。。。。。。。。。。

c++和C有哪些10的區別?。。。。。。。。。。。

1.變量聲明的位置:C中的變量聲明和代碼是分開的,必須在函數的開頭聲明;在C++中,變量可以在任何地方聲明,只要保證先有名後用的原則。例如:for(int I = 0;我& lt10;I++)//C語言是錯誤的。

2.在C++中,struct結構支持成員函數的定義,但在C #中不支持..另外需要註意的是,C++中成員函數的默認訪問描述符是public,和類的不同,類的默認訪問描述符是private。定義結構變量時,struct關鍵字必須在C中使用,但不能在C++中使用。

3.C++中增加了基本數據類型bool(或布爾類型);C中沒有這種bool類型,都是數值類型!需要註意的是,真值是非零的(如:1,52,-2等。),假值為0。

4.註釋不同:C/* */中只有壹個註釋;C++中的註釋包括多行註釋"/*.....*/"和單行"//"。

5.強制數據類型替換:C中的強制轉換形式為:(type)變量;在C++中也可以使用:type (variable)的形式。比如:(int)a;或者寫:int(a);兩者都可以在C++中使用。

6.初始賦值:C語言中只有壹種賦值(復合賦值除外),即“=”;除了“=”,在C++中還可以使用()。?比如:int x(5);相當於:int x = 5;

7.函數:C語言中沒有參數默認值和函數重載,而C++中有。註意參數默認值和函數重載的區別。

8.運算符&;和關鍵字const:&;運算符的基本意思是獲取地址,C和C++都支持這種語法。但是在C++中,它也可以表示壹個引用。有了引用的概念,函數調用可以作為左值使用。比如:?int & amprtux() {......}?rtux()= 5;?上述表達式在C++中是完全正確的,但在C語言中是非法的。?在C++的類函數中,函數可以被稱為const,這意味著函數沒有改變類中的任何屬性。如void Print()const;c不能有這樣的說法。

9.void指針:void指針在C語言中可以賦給任何類型的指針,在C++中不行,但可以強制先轉換數據類型再賦值。比如:?int * p;void * q = NULLp = q;允許在//C中?int * p;void * q = NULLp =(int *)q;//在//C+++中強制轉換

10.c++引入了面向對象的概念,c中不存在類和對象。

  • 上一篇:編程跳繩貓
  • 下一篇:分段函數是函數嗎?
  • copyright 2024編程學習大全網