C++学习笔记
C++ Primer Plus 第三章 处理数据
一、成员函数(cout.put())
- cout,put()是什么东西?
函数cout.put()是一个重要的C++ OOP概念———成员函数————的第一个例子。类定义了如何表示和控制数据。成员函数归类所有,描述了操纵类数据的方法。例如类ostream有一个put()成员函数,用来输出字符。
只能通过类的特定对象(例如这里的cout对象)来使用成员函数。要通过对象(如cout)使用成员函数,必须用句点将对象名和函数名称(put())连接起来。
- 为什么名称有一个句点?
句点被称为成员运算符。cout.put()的意思是,通过类对象cout来使用函数put().
cout.put()成员函数提供了另一种显示字符的方法,可以代替<<运算符。
- 为什么需要这个成员函数呢?cout<<不能输出字符码?
实际上是因为在C++的Release2.0版本前,cout可以将字符变量显示成字符,但将字符常量(如'M' 'N')存储为int类型,而将他们显示为数字。
而在Release2.0之后,C++将字符常量存储为char类型,而不是Int类型。这意味着现在cout可以正确处理字符常量了。
示例如下:
运行结果为
二、转义序列
有些字符不能直接通过键盘输入到程序中,因为C++语言赋予他们特殊的含义。对于这些字符,C++提供了一种特殊的表示方法——转义序列。
注意,应该像处理常规字符一样处理转义序列。也就是说,将他们作为字符常量时,应用单引号括起;将它们放在字符串中时,不要使用单引号。
- 可以基于字符的八进制和十六进制编码来使用转义序列。例如,Ctrl+Z的ASCLL码为26,对应的八进制编码为032,十六进制编码为0x1a。可以用下面的转义序列来表示该字符:\032或\0x1a。将这些编码用单引号括起,可以得到相应的字符常量,也可以将它们放在字符串中,如下面示例
程序运行结果:
示例:演示一些转义序列,像\a振铃字符,\n换行符,\b退格符。
程序运行结果:
光标退格到了横线的最左边,然后我们可以输入密码数字之类的。