一、基本语法
cout是C++中的输出函数,在iostream
头文件中定义。cout可以输出所有基本数据类型、字符串、以及自定义类型等信息。
cout的基本语法如下:
#includeusing namespace std; int main() { cout << "Hello World!" << endl; return 0; }
上述代码会输出 "Hello World!" 的信息。其中,<< 表示数据流操作符,注意要用 << 将要输出的信息紧贴着 cout 一起写入。endl表示换行符,可以实现信息的换行输出。
除此之外,cout还支持对数据进行格式化输出。例如:
cout << "整数:" << 12 << endl; cout << "小数:" << 3.1415926 << endl; cout << "字符:" << 'A' << endl; cout << "字符串:" << "Hello World!" << endl;
上述代码会按照相应格式输出不同类型的数据。
二、流控制方式
C++中的流控制方式有两种:操纵符方式和格式化控制方式。
1、操纵符方式
操纵符是用来控制输出流的标志,例如endl和setw()等。endl前面已经讲过,setw()用于控制输出整型、浮点型等宽度。
#includeusing namespace std; int main() { int a = 12; float b = 3.1415926; cout << setw(10) << a << endl; cout << setw(10) << b << endl; return 0; }
上述代码中,setw(10)用于设置输出的宽度为10,如果输出的内容宽度不足10,会在左边补空格。
2、格式化控制方式
格式化控制方式是用于控制输出流中数据的显示格式的,例如fixed表示以小数形式输出,setprecision()表示控制浮点型输出的位数,width()表示输出字符宽度等。
#includeusing namespace std; int main() { double c = 3.1415926; cout << fixed << setprecision(2) << c << endl; cout.width(10); cout.fill('*'); cout << c << endl; return 0; }
上述代码中,fixed和setprecision(2)用于保留2位小数输出,width(10)用于输出宽度为10,fill('*')用于在输出内容不够宽度时,用 * 填充。
三、输出自定义类型
可以使用cout输出自定义类型的内容,但需要定义输出运算符 "<<"。例如:
#includeusing namespace std; class Complex { public: Complex(double r = 0, double i = 0): real(r), imag(i) {} friend ostream &operator<<(ostream &os, Complex &c); private: double real; // 实部 double imag; // 虚部 }; ostream &operator<<(ostream &os, Complex &c) { os << c.real << "+" << c.imag << "i"; return os; } int main() { Complex c(3.0,4.0); cout << c << endl; // 输出 3+4i return 0; }
Complex类中定义了输出运算符 "<<",使得cout能够正确输出该类的对象。