📅  最后修改于: 2023-12-03 14:57:04.709000             🧑  作者: Mango
C++ 是一种高级编程语言,最初由 Bjarne Stroustrup 在1983年所设计,它是 C 语言的扩展,并支持面向对象编程。
#include <iostream>
int main() {
std::cout << "Hello, World!";
return 0;
}
以上是 C++ 的经典入门示例,它会输出 "Hello, World!"。其中,std::cout
代表标准输出流,<<
用于输出字符串,return 0
用于表示程序成功退出。
C++ 支持的基本数据类型包括 int
, float
, double
, char
等等,这些类型和 C 语言中的基本类型相同。此外,C++ 还支持引用类型、指针类型、复合类型等。例如:
int x = 10; // 定义一个整型变量
double y = 1.23; // 定义一个双精度浮点数变量
int& z = x; // 定义一个整型引用,指向 x 变量
int* p = &x; // 定义一个整型指针,指向 x 变量
C++ 的对象导向编程支持类、继承、多态等特性。类是 C++ 中最基本的语言构造,它用于封装数据和函数。例如:
// 定义一个人类
class Person {
public:
void sayHello() {
std::cout << "Hello, I am a person!";
}
};
int main() {
// 创建一个人类对象
Person p;
// 调用对象的方法
p.sayHello();
return 0;
}
继承是 C++ 中实现代码复用的一种机制,它可以让派生类从基类中继承属性和行为。例如:
class Student : public Person {
public:
void study() {
std::cout << "I am studying!";
}
};
int main() {
// 创建一个学生对象
Student s;
// 调用对象的方法
s.sayHello();
s.study();
return 0;
}
多态是 C++ 中面向对象编程的重要特性之一。它可以让不同的派生类对象对同一个消息进行响应,并且根据对象类型的不同,采取不同的行为。例如:
class Animal {
public:
virtual void sound() {
std::cout << "I am an animal!";
}
};
class Cat : public Animal {
public:
void sound() {
std::cout << "I am a cat!";
}
};
class Dog : public Animal {
public:
void sound() {
std::cout << "I am a dog!";
}
};
int main() {
// 创建动物对象
Animal *a1 = new Cat();
Animal *a2 = new Dog();
// 调用对象的方法
a1->sound();
a2->sound();
return 0;
}
C++ 中的泛型编程是通过模板实现的,它可以让程序员编写通用的代码,从而实现更高效的开发。
例如,下面是一个使用模板实现的快速排序算法:
template <typename T>
void quicksort(T* arr, int start, int end) {
if (start < end) {
int left = start;
int right = end;
T pivot = arr[(start + end) / 2];
while (left <= right) {
while (arr[left] < pivot) left++;
while (arr[right] > pivot) right--;
if (left <= right) {
std::swap(arr[left], arr[right]);
left++;
right--;
}
}
quicksort(arr, start, right);
quicksort(arr, left, end);
}
}
int main() {
int arr[] = { 5 , 9 , 1 , 0 , 6 , 7 , 8 , 4 , 2 , 3 };
int n = sizeof(arr) / sizeof(arr[0]);
quicksort(arr, 0, n - 1);
for (int i = 0; i < n; i++) {
std::cout << arr[i] << " ";
}
std::cout << std::endl;
return 0;
}
C++ 中的标准库包含了很多常用的类和函数,可以让开发变得更加高效。
例如,下面是一个使用标准库中的 vector
类实现的基本操作示例:
#include <vector>
#include <iostream>
int main() {
std::vector<int> v; // 定义一个整型向量
v.push_back(1); // 在末尾添加元素
v.push_back(2);
v.push_back(3);
v.pop_back(); // 删除末尾元素
std::cout << "Size: " << v.size() << std::endl; // 获取向量大小
std::cout << "Capacity: " << v.capacity() << std::endl; // 获取向量容量
std::cout << "Elements:";
for (int i = 0; i < v.size(); i++) { // 遍历向量
std::cout << " " << v[i];
}
std::cout << std::endl;
return 0;
}
C++ 是一门功能非常强大的编程语言,它支持对象导向编程、泛型编程等先进特性,并且拥有丰富的标准库,可以让开发变得更加高效。但是,C++ 也是一门复杂的语言,初学者需要耐心学习并且多加练习。