C++学习
不行啊,没办法,数据结构与算法好多都与C++相关,不学点C++对学习不利
开始干它!
学习地址:C++ 简介 | 菜鸟教程 (runoob.com)
vscode配置C++方案VSCode配置C/C++环境_小神仙的博客-CSDN博客
面向对象程序设计
四大特性
- 封装
- 抽象
- 继承
- 多态
基本语法
#include <iostream> // 包含头文件
using namespace std; // 告诉编译器使用std命名空间
int main()
{
cout << "Hello world!"; // 输出
return 0;
}
内置数据类型
布尔型 bool
字符型 char
整型 int
浮点型 float
双浮点型 double
无类型 void
宽字符型 wchar_t (typedef short int wchar_t)
布尔常量:true和false
输入和输出
标准输出流(cout)
相当于C语言的printf
cout << "...." << str << endl;
endl用于在行末添加一个换行符
标准输出流(cin)
相当于C语言的scanf
char name[50];
cout << "请输入你的姓名:";
cin >> name;
cout << "你的名字是:" << name << endl;
cin >> name >> age; // 可多次输入数据
// 相当于
cin >> name;
cin >> age;
标准错误流(cerr)
char str[] = "Unable to read...";
cerr << "Error Message: " << str << endl;
// 输出:Error Message: Unable to read...
标准日志流(clog)
和上一个差不多
::
- 作用域符号,前面一般跟类名称,后面一般跟类的成员名称
eg: A::member 表示类A中的成员member
B::member 表示类B中的成员member
- 全局作用域符号:用来区分全局和局部函数和变量
eg:
char a = "hello";
void print()
{
char a = "world"; // 局部变量
cout << a << endl; // 输出局部变量
cout << ::a << endl; // 输出全局变量
}
C++中的string类
// 头文件
#include <string>
string s; // 声明一个string对象
string ss[10]; // 声明一个stirng对象的数组
常用相关操作
s.empty(); // 判断字符串是否为空
s.size(); // 返回字符串中字符个数
s = s1 + s2; // 将两个字符串拼接在一起,并返回新生成的字符串
添加
s.append("world"); // s后追加world
s.append(s1); // s后追加s1
s.append(10, "a"); // s后追加10个a
s.append(s1, 2 ,2); // 从s1的第二位开始,添加2位
具体的需要再查吧
小结
c++大体上跟C语言差别不大,就是小部分语法和新增的对象(类)等概念不同