一、基本語法
C++語言是一門基於C語言的編程語言,因此C++的基本語法與C語言相似,主要包括以下幾個方面:
1. 數據類型
C++的數據類型可以分為基本數據類型和衍生數據類型兩種。其中,基本數據類型包括整型、浮點型、字元型、布爾型和空類型,衍生數據類型包括數組、指針、結構體、共用體和枚舉類型。
//示例代碼:定義一個整型變數和一個指向整型變數的指針 int num = 10; int *ptr = #
2. 控制語句
C++的控制語句包括順序結構、分支結構和循環結構。其中,常用的分支結構有if語句和switch語句,常用的循環結構有while循環、do-while循環和for循環。
//示例代碼:使用for循環輸出1~10的數字 for(int i=1;i<=10;i++) { cout<<i<<endl; }
3. 函數
在C++中,可以通過定義函數來實現代碼的復用。函數的定義包括函數類型、函數名、參數列表和函數體,其中參數列表可以為空,函數體可以返回一個值。
//示例代碼:定義一個函數,返回兩個數的和 int sum(int a,int b) { return a+b; }
二、面向對象編程
C++是一門面向對象編程的語言,支持封裝、繼承和多態等特性。
1. 封裝
封裝是C++面向對象編程中的一個重要特性,它可以將數據和操作數據的函數封裝在一起,實現數據的保護和隱藏,避免數據的不合法訪問。
//示例代碼:定義一個封裝了數據和訪問函數的類 class Student { private: string name; int age; public: string getName() { return name; } void setName(string n) { name = n; } int getAge() { return age; } void setAge(int a) { age = a; } };
2. 繼承
繼承是C++面向對象編程的另一個重要特性,它可以通過建立類之間的繼承關係,實現代碼的重用和靈活性的提高。
//示例代碼:定義一個繼承自Student類的Undergraduate類 class Undergraduate: public Student { private: string major; public: string getMajor() { return major; } void setMajor(string m) { major = m; } };
3. 多態
多態是C++面向對象編程的另一個重要特性,它可以實現函數的重載和虛函數的運行時綁定,提高程序的靈活性和可擴展性。
//示例代碼1:實現函數的重載 int sum(int a,int b) { return a+b; } double sum(double a,double b) { return a+b; } //示例代碼2:定義一個含有虛函數的類 class Shape { public: virtual double area() { return 0; } }; class Circle: public Shape { private: double r; public: Circle(double radius): r(radius) {} virtual double area() { return r*r*3.14; } }; class Rectangle: public Shape { private: double x,y; public: Rectangle(double a,double b): x(a),y(b) {} virtual double area() { return x*y; } };
三、STL庫
STL(Standard Template Library)是C++標準庫中的一個重要組成部分,提供了許多功能強大的容器類和演算法,可以大大提高程序開發的效率。
1. 容器類
容器類是STL庫中的一個重要概念,包括vector、list、map等多種類型,每種類型都有自己的特點和適用範圍。
//示例代碼:定義一個vector容器,並將元素插入其中 vector v; v.push_back(1); v.push_back(2); v.push_back(3);
2. 演算法
演算法是STL庫中的另一個重要概念,包括排序、查找、複製、統計等多種操作,可以輕鬆實現對容器的操作。
//示例代碼:使用演算法對vector容器進行排序 vector v; v.push_back(3); v.push_back(2); v.push_back(1); sort(v.begin(),v.end());
四、文件操作
C++支持對文件進行讀寫操作,可以實現對外部文件的讀取和寫入。
1. 文件讀取
文件讀取是C++操作文件的一種常用方式,可以打開文件並讀取其中的內容。
//示例代碼:打開文件,並讀取其中的內容 ifstream in("test.txt"); if(!in.is_open()) { cout<<"Open file failed!"<<endl; } else { string s; while(getline(in,s)) { cout<<s<<endl; } } in.close();
2. 文件寫入
文件寫入是C++操作文件的另一種常用方式,可以打開文件並將內容寫入其中。
//示例代碼:打開文件,並將內容寫入其中 ofstream out("test.txt",ofstream::app); if(!out.is_open()) { cout<<"Open file failed!"<<endl; } else { out<<"Hello world!"; } out.close();
五、異常處理
C++支持異常處理機制,可以通過捕獲異常和拋出異常來處理程序中出現的異常情況。
1. 捕獲異常
捕獲異常是C++中對異常進行處理的一種方法,可以通過try-catch語句捕獲可能發生異常的代碼塊,並進行處理。
//示例代碼:捕獲異常並進行處理 try { int a,b; cin>>a>>b; if(b==0) { throw "Divisor can not be zero!"; } else { cout<<a/b<<endl; } } catch(const char* e) { cout<<e<<endl; }
2. 拋出異常
拋出異常是C++中對異常進行處理的另一種方法,可以通過throw語句拋出異常,並在程序的其他位置進行處理。
//示例代碼:拋出異常並在另一個函數中進行處理
int divide(int a,int b) {
if(b==0) {
throw "Divisor can not be zero!";
} else {
return a/b;
}
}int main() {
try {
int a,b;
cin>>a>>b;
cout<原創文章,作者:JWLDF,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/366254.html