本节主要介绍了C++中面向对象与流的最基本操作。
类的定义与使用
- 看上去像“带函数的结构体”
1 |
|
结果如下:
- 访问权限:
- private:私有成员,只能在成员函数中访问(默认)
- public:共有成员,可以在任何地方访问
- protected:保护成员
流
1.标准输入流
cin>>x;
- 读入整数时以第一个非数字为终结
- 读入字符串时以第一个空格、tab或换行符为终结
cin.getline(str,len,ch);
- 读入一个字符串
- ch被从流中提出,不存入str
ch=cin.get();
- 读入一个单独的字符
cin.ignore(int n =1, int delim = EOF)
- 此函数的作用是跳过输入流中的 n 个字符,或跳过 delim 及其之前的所有字符,哪个条件先满足就按哪个执行
- 两个参数都有默认值,因此 cin.ignore() 就等效于 cin.ignore(1, EOF), 即跳过一个字符
cin.width(num)
- 设置域宽
- 宽度为num
1
2
3
4
5
6
7
8
9
10
11
12
13
14
using namespace std;
int main(void)
{
string string;
cin.width(5);
cin>>string;
cout<<string<<endl;
cin>>string;
cout<<string<<endl;
return 0;
}结果如下:
2.标准输出流
cout<<y;
cout.put('A').put('a')
//使用put输出一个字符控制输出浮点数的精度
- 头文件:
#include<iomanip>
- 精度设置:
setprecision(num)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
using namespace std;
int main(void)
{
double x=1234567.89,y=12.34567;
int n=1234567;
int m=12;
//setiosflags(ios::fixed)表示设置成小数的形式
//此时setprecision(6)表示保留小数点后6位
//若只有setprecision(6)作用,则表示整数和小数一共占6位
cout<<setiosflags(ios::fixed)<<setprecision(6);
cout<<"x:"<<x<<endl;
cout<<"y:"<<y<<endl;
cout<<"n:"<<n<<endl;//精度的设置对整数不起作用
cout<<"m:"<<m<<endl;
return 0;
}结果如下:
- 头文件: