溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

C過渡到C++

發(fā)布時間:2020-06-13 08:24:49 來源:網(wǎng)絡(luò) 閱讀:1323 作者:匯天下豪杰 欄目:編程語言

1、在C++中,一個程序通過g++的編譯器的進行四步:

  預處理  g++ tect.cpp -o test.i  -E

  編譯     g++ test.i -o test.s      -S

  匯編     g++ test.s -o test.o     -c

  鏈接     g++ test.o -o test   

其后執(zhí)行語句: ./test

2、C和C++的關(guān)系:

  學習任何一門新的語言都必須對已學過的進行思考,找出異同點,方便學習新語言的特性。

  C++的意思: C plus plus

  C++是完全兼容C語言的,其中很多特性都能體現(xiàn)出來。

  C:    .c          stdio.h                              printf  scanf   函數(shù)無重載,且結(jié)構(gòu)體不能為空        過程

  C++:  .cpp      iostream(引入命名空間)     cout    cin       有重載,且類可以為空               強調(diào)的是對象

C程序:

#include<stdio.h>                 

void main(void)
{
    int i = 10;
    printf("i = %d\n", i);
}

C++程序:

#include<iostream>
using namespace std;

int main(void)
{
    int i = 10;
    cout<<i<<endl;
}

C++的輸出不強調(diào)輸出的格式,由編譯器自動識別,以endl回車換行。

3、C和C++的簡單區(qū)別:

  (1)、建立的文件類型不一樣,C語言為.c, C++為.cpp

  (2)、引入的頭文件不一樣

  (3)、C++有命名空間

  (4)、輸入輸出的語句不一樣

  (5)、C語言不允許重載,C++可以進行重載

  (6)、自定義類型不一樣,C語言使用struct,C++使用class

  (7)、C++語言有邏輯數(shù)據(jù)類型bool

4、C和C++的編譯識別:

  C語言的變量必須的放到:所有有效語句之前。

  C++語言在何時用到變量,在定義,比較符合人文化。

5、C和C++的編程思想:

  C function 函數(shù) + 算法   編程強調(diào)的是實現(xiàn)的過程。

  C++ 因為其完全兼容C,其定義變量并不像java一樣,全部都是對象,int i;這只是普通的變量,所以C++是一門基于面向?qū)ο?/strong>的語言。

  對象+對象+.................+算法

  談C++一切都要用對象       編程強調(diào)的是對象怎么了,一切圍繞對象;

6、在C++中對于多個完全相同函數(shù)的簡單識別方法:

  (1)、利用條件宏

#define    AAA

#ifdef    AAA
    void fun(){}
#else
    void fun(){}
#endif

  (2)、利用命名空間加以解決:

#include<iostream>
using namespace std;
namespace MySpace{
  void fun(){
   cout<<"This MySpace"<<endl;
  }
};
namespace YouSpace{
  void fun(){
   cout<<"This YouSpace"<<endl;
  }
};

using namespace MySpace;
int main(void){
  fun();
  return 0;
}

C過渡到C++

這就是通過命名空間解決了函數(shù)一樣的調(diào)用問題,當然,命名空間的本質(zhì)及用法對自己剛接觸C++,還不是很清楚。

如果在文件iostream中沒有引入命名空間,就的由我們自己手工寫std;

std::cout<<"namespace std"<<std::endl;


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI