输入字符串的另外一种形式

来源:互联网 发布:php输出时间 编辑:程序博客网 时间:2024/05/17 22:12

  今天在看书的时候无意中看到了书上的代码中用了string这个类型来表示字符串类型,然后仔细观察代码发现了一种不同于自己理解的在类中中输入字符串的方法(此前写了一篇光宇这个的博客)

  源代码:

<span style="font-size:14px;">#include<iostream>#include<string>using namespace std;class Information{public:void Information_cin();void Information_cout();private:string name;string sex;double number;};void Information::Information_cin(){cin>>name>>sex>>number;}void Information::Information_cout(){cout<<"name:"<<name<<endl;cout<<"sex:"<<sex<<endl;cout<<"number:"<<number<<endl;}int main(){Information p1;p1.Information_cin();p1.Information_cout();return 0;}</span>


运行结果:


  

  总结:这种输入方式最大的特点是引用了string这一个字符串变量,这样就可以将字符串处理为一个简单的普通变量了;同时这种方式也不用考虑构造函数对输入的影响,不用对流提取运算符进行初始化的操作,直接使用默认的构造函数就可以满足要求了。但是使用的时候要注意的一点就是string的使用是要声明头文件#include<string>的(不过这个貌似是由编译器决定的,用dev c++编译的话好像不用声明这个头文件,至于其他的头文件暂时没有去试)

  注意将下面这个源代码和上面的源代码作比较:

源代码:

<span style="font-size:14px;">#include<iostream>#include<string>using namespace std;class Information{public:void Information_cin();void Information_cout();private:string name;char sex;double number;};void Information::Information_cin(){cin>>name>>sex>>number;}void Information::Information_cout(){cout<<"name:"<<name<<endl;cout<<"sex:"<<sex<<endl;cout<<"number:"<<number<<endl;}int main(){Information p1;p1.Information_cin();p1.Information_cout();return 0;}</span>
区别:仅仅是在类中将sex的类型声明为了char

运行结果:



总结:刚开始还没反应过来这个是怎么回事,后来才发现这个代码中的char定义的是一个字符,所以会出现这个误差,自己首先以为char对sex定义的是一个字符串(现在没有想明白自己为什么会这么想......)

0 0