求助】一个小小的问题.望大侠指教

juyyao 2009-04-28 12:34:50
构造函数的定义:
#include <iostream>
using std::cout;
using std::endl;

#include "CreateAndDestroy.h"
CreateAndDestroy::CreateAndDestroy( int ID, string messageString )
{
objectID = ID; // set object's ID number
message = messageString; // set object's descriptive message

cout << "Object " << objectID << " constructor runs "
<< message<<endl;
}
CreateAndDestroy::~CreateAndDestroy()
{
// output newline for certain objects; helps readability
cout << ( (objectID == 1 || objectID == 6 )? "\n" : "" );

cout << "Object " << objectID << " destructor runs "
<< message << endl;
}






执行函数:
#include <iostream>
using std::cout;
using std::endl;

#include "CreateAndDestroy.h" // include CreateAndDestroy class definition

void create( void ); // prototype

CreateAndDestroy first( 1, "(global before main)" ); // global object

int main()
{
cout << "\nMAIN FUNCTION: EXECUTION BEGINS" << endl;
CreateAndDestroy second( 2, "(local automatic in main)" );
static CreateAndDestroy third( 3, "(local static in main)" );

create();

cout << "\nMAIN FUNCTION: EXECUTION RESUMES" << endl;
CreateAndDestroy fourth( 4, "(local automatic in main)" );
cout << "\nMAIN FUNCTION: EXECUTION ENDS" << endl;
return 0;
} // end main

// function to create objects
void create( void )
{
cout << "\nCREATE FUNCTION: EXECUTION BEGINS" << endl;
CreateAndDestroy fifth( 5, "(local automatic in create)" );
static CreateAndDestroy sixth( 6, "(local static in create)" );
CreateAndDestroy seventh( 7, "(local automatic in create)" );
cout << "\nCREATE FUNCTION: EXECUTION ENDS"<<endl;
} // end function create
...全文
87 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
这年头,什么都有人问。
cout < < "\nMAIN FUNCTION: EXECUTION BEGINS" < < endl;

这个\n表示换行。
然后每句话后又endl,都是换行,所以一到nMAIN FUNCTION: EXECUTION BEGINS就换了2行。
楼主没见过C吧
arong1234 2009-04-28
  • 打赏
  • 举报
回复
什么意思?你那么多\n和endl不都在换行?所谓得“自动得换行”是什么意思?
[Quote=引用 1 楼 juyyao 的回复:]
我想问的是为什么输出里会有自动的换行.而且都是在相连的构造函数被调用完毕后
[/Quote]
juyyao 2009-04-28
  • 打赏
  • 举报
回复
我想问的是为什么输出里会有自动的换行.而且都是在相连的构造函数被调用完毕后
gao125210 2009-04-28
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 hairetz 的回复:]
这年头,什么都有人问。
cout < < "\nMAIN FUNCTION: EXECUTION BEGINS" < < endl;

这个\n表示换行。
然后每句话后又endl,都是换行,所以一到nMAIN FUNCTION: EXECUTION BEGINS就换了2行。
楼主没见过C吧
[/Quote]
juyyao 2009-04-28
  • 打赏
  • 举报
回复
各位实在抱歉,我漏看了"\n",问了个如此愚蠢的问题,分平均给好了,各位见谅
zhaohongbo83 2009-04-28
  • 打赏
  • 举报
回复
在C++ 中\n和endl 都可以换行的
程序中在流刷新输出的时候遇到 << endl,就换行了
沙漠里的海豚 2009-04-28
  • 打赏
  • 举报
回复

呵呵 楼主以前可能没怎么用过c++,可以理解

在C中要打印换行的话需要:

printf("\n");

而在C++中有了一个endl,它是由c++标准定义的,其作用和换行符"\n"一样

不过endl不能用在printf中哦
zbihong 2009-04-28
  • 打赏
  • 举报
回复
实在不懂LZ具体要问什么!
ameyume 2009-04-28
  • 打赏
  • 举报
回复
up
\n,endl就是换行的意思啊
建议楼主看看基本的

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧