一、基本语法
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/n/366254.html