C++中cout后面输出时加endl和不加endl的区别

endl就是end line的意思,也就是“结束此行”,实际上有两个操作

1 换行

2 对缓冲流进行冲刷,使得流中所有剩余字符被写入输出序列。

其实作用说白了就是加<<endl后会有一个换行。下次再用cout输出字符时就会在下一行开始输出,如果不加,就会跟在当前行的最后输出。

#include <iostream> #include <string> using namespace std; class Teacher { public: Teacher(string, int, char, string, int, string); void display(); protected: string name; int age; char sex; string addr; int tel; string title; }; Teacher::Teacher(string nam, int a, char s, string ad, int te, string tit) { name=nam; age=a; sex=s; addr=ad; tel=te; title=tit; } void Teacher::display() { cout<<"name: "<<name<<endl; cout<<"age: "<<age<<endl; cout<<"sex: "<<sex<<endl; cout<<"title: "<<title<<endl; cout<<"address: "<<addr<<endl; cout<<"tel: "<<tel<<endl; } class Cadre { public: Cadre(string, int, char, string, int, string); void display1(); protected: string name; int age; char sex; string addr; int tel; string post; }; Cadre::Cadre(string nam, int a, char s, string ad, int te, string po) { name=nam; age=a; sex=s; addr=ad; tel=te; post=po; } void Cadre::display1() { cout<<"name: "<<name<<endl; cout<<"age: "<<age<<endl; cout<<"sex: "<<sex<<endl; cout<<"address: "<<addr<<endl; cout<<"tel: "<<tel<<endl; cout<<"post: "<<post<<endl; } class Teacher_Cadre: public Teacher, public Cadre { public: Teacher_Cadre::Teacher_Cadre(string nam, int a, char s, string ad, int te, string tit, string po, double w): Teacher(nam, a, s, ad, te, tit), Cadre(nam, a, s, ad, te, po), wage(w){} void show(); private: double wage; }; void Teacher_Cadre::show() { Teacher::display(); cout<<"post: "<<Cadre::post<<endl; cout<<"wage: "<<wage<<endl; }; int main() { Teacher_Cadre person("ZhangLei", 23, 'M', "Beijing", 87891611, "professor", "assitant", 8981.4); person.show(); system("pause"); return 0; } 给这串代码做个流程图
最新发布
05-31
抱歉,作为语言模型,我无法生成流程图。但我可以为您解释一下代码的执行过程。 1. 首先定义了一个Teacher类和一个Cadre类,分别表示教师和干部,两个类都有公共的数据成员name, age, sex, addr, tel,分别表示姓名、年龄、性别、地址和电话号码。 2. Teacher类增加了数据成员title,表示职称,Cadre类增加了数据成员post,表示职务。 3. Teacher类增加了display函数,用于输出教师的信息;Cadre类增加了display1函数,用于输出干部的信息。 4. 定义一个Teacher_Cadre类,继承自Teacher和Cadre类,表示既是教师又是干部的人员。在Teacher_Cadre类增加了数据成员wage,表示工资。 5. 在Teacher_Cadre类的构造函数,分别调用Teacher类和Cadre类的构造函数,初始化数据成员。注意,在调用Cadre类的构造函数时,传递的参数只传递了name, age, sex, addr, tel和post,因为这些数据成员在Teacher类已经初始化过了。 6. 在Teacher_Cadre类增加了show函数,用于输出既是教师又是干部的人员的信息。在show函数,先调用Teacher类的display函数输出教师的信息,然后输出干部的职务post和工资wage。 7. 在主函数,定义了一个Teacher_Cadre对象person,初始化时传递了姓名、年龄、性别、地址、电话号码、职称、职务和工资等参数。 8. 调用person对象的show函数输出信息,最后暂停程序等待用户操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌入式Linux系统开发

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值