目录
C++ 是一种广泛使用的面向对象的编程语言,它结合了 C 语言的高效性和直接访问硬件的能力,同时引入了面向对象编程的概念。C++ 被用于开发各种应用程序,包括操作系统、浏览器、游戏引擎等。下面是一个简单的 C++ 教程,帮助你入门 C++:
1. 环境搭建
安装编译器
- GCC/G++:Linux 和 macOS 用户可以使用 GCC/G++。
- Visual Studio:Windows 用户可以使用 Visual Studio,它包含了 Microsoft 的 C++ 编译器。
- CLion:JetBrains 的一款跨平台的 C/C++ 集成开发环境。
安装示例(Linux)
bash
深色版本
sudo apt-get update
sudo apt-get install build-essential
2. Hello World 程序
C++ 程序通常从一个 main
函数开始执行。下面是一个简单的 “Hello World” 程序:
cpp
深色版本
#include <iostream>
int main() {
std::cout << "Hello, World!" << std::endl;
return 0;
}
保存为 hello.cpp
,然后编译并运行:
bash
深色版本
g++ hello.cpp -o hello
./hello
3. 基本语法
变量声明
cpp
深色版本
int number = 10;
float pi = 3.14f;
控制结构
- if 语句
cpp
深色版本
if (number > 0) {
std::cout << "Number is positive." << std::endl;
} else {
std::cout << "Number is not positive." << std::endl;
}
- for 循环
cpp
深色版本
for (int i = 0; i < 5; ++i) {
std::cout << "Counting: " << i << std::endl;
}
- while 循环
cpp
深色版本
int x = 0;
while (x < 5) {
std::cout << "Counting: " << x << std::endl;
++x;
}
数组(Array)
cpp
深色版本
int arr[5] = {1, 2, 3, 4, 5};
字符串(String)
cpp
深色版本
std::string str = "Hello";
std::cout << str << std::endl;
函数(Function)
cpp
深色版本
int add(int a, int b) {
return a + b;
}
int main() {
int result = add(5, 3);
std::cout << "Result: " << result << std::endl;
return 0;
}
4. 面向对象编程(OOP)
类(Class)与对象(Object)
cpp
深色版本
class Person {
public:
std::string name;
int age;
void introduce() const {
std::cout << "My name is " << name << " and I am " << age << " years old." << std::endl;
}
};
int main() {
Person person;
person.name = "Alice";
person.age = 30;
person.introduce();
return 0;
}
继承(Inheritance)
cpp
深色版本
class Animal {
public:
virtual void speak() const {
std::cout << "Some sound" << std::endl;
}
};
class Dog : public Animal {
public:
void speak() const override {
std::cout << "Woof woof!" << std::endl;
}
};
int main() {
Dog dog;
dog.speak();
return 0;
}
多态(Polymorphism)
上面的继承例子已经展示了多态的概念,即子类可以覆盖父类的方法。
封装(Encapsulation)
封装通常通过私有成员变量和公共的方法来实现,这样可以隐藏类的内部实现细节。
5. 标准模板库(STL)
C++ 的标准模板库(STL)提供了一系列的容器、算法和迭代器,使得编程更加高效。
容器(Container)
cpp
深色版本
std::vector<int> vec = {1, 2, 3};
std::cout << "First element: " << vec.front() << std::endl;
算法(Algorithm)
cpp
深色版本
std::vector<int> vec = {3, 1, 2};
std::sort(vec.begin(), vec.end());
迭代器(Iterator)
cpp
深色版本
std::vector<int> vec = {1, 2, 3};
for (auto it = vec.begin(); it != vec.end(); ++it) {
std::cout << *it << " ";
}
6. 异常处理(Exception Handling)
cpp
深色版本
try {
throw std::runtime_error("An error occurred!");
} catch (const std::exception& e) {
std::cerr << "Caught exception: " << e.what() << std::endl;
}
7. 学习资源
- 书籍:《C++ Primer》、《Effective C++》等。
- 在线资源:C++ 官方网站、Stack Overflow、GeeksforGeeks 等。
以上是 C++ 的一个简要介绍,通过这些基础知识,你可以开始编写简单的程序,并逐渐深入了解 C++ 的高级特性。随着经验的增加,你可以探索更多的主题,如模板编程、智能指针、并发编程等。