您好,登錄后才能下訂單哦!
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
其后執行語句: ./test
2、C和C++的關系:
學習任何一門新的語言都必須對已學過的進行思考,找出異同點,方便學習新語言的特性。
C++的意思: C plus plus
C++是完全兼容C語言的,其中很多特性都能體現出來。
C: .c stdio.h printf scanf 函數無重載,且結構體不能為空 過程
C++: .cpp iostream(引入命名空間) cout cin 有重載,且類可以為空 強調的是對象
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++的輸出不強調輸出的格式,由編譯器自動識別,以endl回車換行。
3、C和C++的簡單區別:
(1)、建立的文件類型不一樣,C語言為.c, C++為.cpp
(2)、引入的頭文件不一樣
(3)、C++有命名空間
(4)、輸入輸出的語句不一樣
(5)、C語言不允許重載,C++可以進行重載
(6)、自定義類型不一樣,C語言使用struct,C++使用class
(7)、C++語言有邏輯數據類型bool
4、C和C++的編譯識別:
C語言的變量必須的放到:所有有效語句之前。
C++語言在何時用到變量,在定義,比較符合人文化。
5、C和C++的編程思想:
C function 函數 + 算法 編程強調的是實現的過程。
C++ 因為其完全兼容C,其定義變量并不像java一樣,全部都是對象,int i;這只是普通的變量,所以C++是一門基于面向對象的語言。
對象+對象+.................+算法
談C++一切都要用對象 編程強調的是對象怎么了,一切圍繞對象;
6、在C++中對于多個完全相同函數的簡單識別方法:
(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++,還不是很清楚。
如果在文件iostream中沒有引入命名空間,就的由我們自己手工寫std;
std::cout<<"namespace std"<<std::endl;
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。