2 C++简介之C++的特性

C++完整教程

在上一篇中,我们回顾了C++的发展历史,了解了这一编程语言是如何逐步演化而来的。在这一部分中,我们将深入探讨C++的核心特性,这些特性使其在众多编程语言中脱颖而出,为程序员提供了强大的工具,以解决复杂问题。

1. 面向对象编程

C++是一种面向对象的编程语言,支持封装、继承和多态等重要特性。通过将数据与操作数据的函数结合为一个对象,程序员能够创建更加模块化和可重用的代码。

案例:封装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Circle {
private:
double radius;

public:
Circle(double r) : radius(r) {}

double area() {
return 3.14 * radius * radius;
}
};

int main() {
Circle circle(5);
std::cout << "Circle area: " << circle.area() << std::endl;
return 0;
}

在这个例子中,Circle类封装了半径的属性和计算面积的方法,利用private关键字来保护数据。

2. 继承

继承允许我们基于已有的类创建新的类(子类)。这有助于代码重用,以及建立类之间的层次结构。

案例:继承

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class Shape {
public:
virtual double area() = 0; // 纯虚函数
};

class Rectangle : public Shape {
private:
double width, height;

public:
Rectangle(double w, double h) : width(w), height(h) {}

double area() override {
return width * height;
}
};

int main() {
Rectangle rect(4, 5);
std::cout << "Rectangle area: " << rect.area() << std::endl;
return 0;
}

在这个例子中,Shape类是一个基类,而Rectangle类则继承了它,并实现了计算面积的具体方法。

3. 多态

多态是允许不同的类通过相同的接口调用不同的方法。通过多态,程序能够在运行时决定调用哪个类的方法。

案例:多态

1
2
3
4
5
6
7
8
9
void printArea(Shape& shape) {
std::cout << "Area: " << shape.area() << std::endl;
}

int main() {
Rectangle rect(4, 5);
printArea(rect); // 可以使用基类引用来调用子类的方法
return 0;
}

在这个例子中,printArea函数接受一个Shape类型的引用,可以传递任何继承了Shape的类的对象。

4. 泛型编程

C++提供了模板特性,支持泛型编程,使得函数和类可以操作任意类型的数据,从而提高了代码的灵活性和重用性。

案例:模板

1
2
3
4
5
6
7
8
9
10
template <typename T>
T add(T a, T b) {
return a + b;
}

int main() {
std::cout << "Add int: " << add(5, 3) << std::endl;
std::cout << "Add double: " << add(5.5, 3.2) << std::endl;
return 0;
}

上面的代码定义了一个模板函数add,它可以接受任何类型的参数,只要它们支持+运算符。

5. 标准模板库(STL)

C++提供了标准模板库(STL),其中包含了许多数据结构和算法,如vectorlistmap等。STL的使用大大简化了常见的编程任务。

案例:使用STL

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <vector>

int main() {
std::vector<int> numbers = {1, 2, 3, 4, 5};
int sum = 0;

for (int num : numbers) {
sum += num;
}

std::cout << "Sum: " << sum << std::endl;
return 0;
}

在这个例子中,我们使用了vector来存储整数,并通过范围for循环来计算它们的总和。

结论

C++的这些特性使得它能够处理复杂的编程任务,提供了强大的工具和灵活性。在接下来的篇幅中,我们将讨论C++的应用领域,进一步了解它在现实世界中的实际应用。

2 C++简介之C++的特性

https://zglg.work/c-plusplus-zero/2/

作者

AI免费学习网(郭震)

发布于

2024-08-10

更新于

2024-08-24

许可协议

分享转发

交流

更多教程加公众号

更多教程加公众号

加入星球获取PDF

加入星球获取PDF

打卡评论