当前位置:实例文章 » JAVA Web实例» [文章]【C++】C++入门

【C++】C++入门

发布人:shili8 发布时间:2025-01-29 18:55 阅读次数:0

**C++入门指南**

欢迎阅读本文档,旨在为新手提供一个全面且易懂的C++入门教程。我们将一步步地介绍C++语言的基本概念、语法规则以及实践中的应用。

###1. C++的历史和特点C++是一种高级编程语言,由Bjarne Stroustrup在1985年开发于贝尔实验室。它是C语言的扩展,保留了C语言的兼容性,同时引入了面向对象、泛型等新特性。

**优点:**

* 高效:C++编译后的代码通常比其他高级语言快。
* 面向对象:支持类和继承,使程序设计更易于维护和扩展。
* 强类型:减少了错误的可能性,提高程序的可靠性。

###2. C++基本语法####2.1 变量声明

cpp// int型变量int a =10;

// double型变量double b =3.14;

// char型变量char c = 'A';


####2.2 常量
cppconst int PI =3.14159;


####2.3 条件语句
cppint a =10;
if (a >5) {
 cout << "a大于5" << endl;
} else {
 cout << "a小于或等于5" << endl;
}


####2.4 循环语句
cppfor (int i =0; i < 10; i++) {
 cout << i << endl;
}

while (true) {
 cout << "Hello, World!" << endl;
 break;
}


###3. C++的数据类型####3.1 整型* `int`:32位整数* `short int`:16位整数* `long int`:64位整数* `unsigned int`:无符号整数
cppint a =10;


####3.2 浮点型* `float`:32位浮点数* `double`:64位浮点数* `long double`:128位浮点数
cppdouble b =3.14;


####3.3 字符型* `char`:单个字符* `wchar_t`:宽字符
cppchar c = 'A';


###4. C++的运算符####4.1 算术运算符| 运算符 | 描述 |
| --- | --- |
| `+` | 相加 |
| `-` | 相减 |
| `*` | 相乘 |
| `/` | 相除 |
| `%` | 取余 |

cppint a =10;
int b =3;
cout << a + b << endl; // 输出:13


####4.2 关系运算符| 运算符 | 描述 |
| --- | --- |
| `==` | 等于 |
| `!=` | 不等于 |
| `<` | 小于 |
| `>` | 大于 |
| `<=` | 小于或等于 |
| `>=` | 大于或等于 |

cppint a =10;
if (a >5) {
 cout << "a大于5" << endl;
} else {
 cout << "a小于或等于5" << endl;
}


####4.3 逻辑运算符| 运算符 | 描述 |
| --- | --- |
| `&&` | 与 |
| `||` | 或 |

cppbool a = true;
bool b = false;
cout << (a && b) << endl; // 输出:false


####4.4 赋值运算符| 运算符 | 描述 |
| --- | --- |
| `=` | 等于 |
| `+=` | 相加并赋值 |
| `-=` | 相减并赋值 |
| `*=` | 相乘并赋值 |
| `/=` | 相除并赋值 |

cppint a =10;
a +=3; // 相加并赋值cout << a << endl; // 输出:13


###5. C++的函数####5.1 函数定义
cppvoid sayHello() {
 cout << "Hello, World!" << endl;
}


####5.2 函数调用
cppsayHello();


####5.3 函数参数
cppint add(int a, int b) {
 return a + b;
}

cout << add(10,3) << endl; // 输出:13


###6. C++的类和对象####6.1 类定义
cppclass Person {
public:
 string name;
 int age;

 void sayHello() {
 cout << "Hello, my name is " << name << " and I am " << age << " years old." << endl;
 }
};


####6.2 对象创建
cppPerson person;
person.name = "John";
person.age =30;

person.sayHello();


###7. C++的继承和多态####7.1 类定义
cppclass Animal {
public:
 void sound() {
 cout << "The animal makes a sound." << endl;
 }
};

class Dog : public Animal {
public:
 void sound() override {
 cout << "The dog barks." << endl;
 }
};


####7.2 对象创建
cppDog dog;

dog.sound(); // 输出:The dog barks.


###8. C++的泛型和模板####8.1 类定义
cpptemplate <typename T>
class Container {
public:
 void add(T value) {
 cout << "Adding a value of type " << typeid(value).name() << "." << endl;
 }
};


####8.2 对象创建
cppContainer<int> intContainer;
intContainer.add(10);

Container<string> stringContainer;
stringContainer.add("Hello, World!");


###9. C++的异常处理####9.1 try-catch语句
cpptry {
 cout << "Trying to divide by zero." << endl;
 int a =10 /0;
} catch (const std::exception& e) {
 cout << "Caught an exception: " << e.what() << "." << endl;
}


####9.2 throw语句
cppvoid divide(int a, int b) {
 if (b ==0) {
 throw std::runtime_error("Cannot divide by zero.");
 }
 cout << a / b << endl;
}

try {
 divide(10,0);
} catch (const std::exception& e) {
 cout << "Caught an exception: " << e.what() << "." << endl;
}


###10. C++的标准库####10.1 iostream头文件
cpp#include <iostream>

int main() {
 int a =10;
 std::cout << a << std::endl; // 输出:10 return0;
}


####10.2 string类
cpp#include <string>

int main() {
 std::string str = "Hello, World!";
 std::cout << str << std::endl; // 输出:Hello, World!
 return0;
}


###11. C++的内存管理####11.1 new运算符
cppint* ptr = new int(10);
std::cout << *ptr << std::endl; // 输出:10delete ptr;


####11.2 delete运算符
cppint* ptr = new int(10);
std::cout << *ptr << std::endl; // 输出:10delete ptr;


###12. C++的智能指针####12.1 unique_ptr类
cpp#include <memory>

int main() {
 std::unique_ptr<int> ptr = std::make_unique<int>(10);
 std::cout << *ptr << std::endl; // 输出:10 return0;
}


####12.2 shared_ptr类
cpp#include <memory>

int main() {
 std::shared_ptr<int> ptr1 = std::make_shared<int>(10);
 std::shared_ptr<int> ptr2 = ptr1;
 std::cout << *ptr1 << std::endl; // 输出:10 return0;
}


###13. C++的线程和并发####13.1 thread类
cpp#include <thread>

void printHello() {
 std::cout

其他信息

其他资源

Top