一、基本語法
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
微信掃一掃
支付寶掃一掃