万贤
作家
作家
  • 铜币1枚
  • 威望24点
  • 贡献值1点
阅读:961回复:8

[万贤美文] 之 一个小疑问

楼主#
更多 发布于:2006-01-14 21:46

 
#include <iostream>
 using namespace std;
 class Tree {
   int height;
 public:
   Tree(int initialHeight);
  ~Tree();
  void grow(int years);
  void printsize();
 };
 Tree::Tree(int initialHeight){
   height = initialHeight;
 }
 Tree::~Tree(){
   cout<<"inside Tree destructor"<<endl;
   printsize();
 }
 void Tree::grow(int years){
   height += years;
 }
 void Tree::printsize(){
   cout<<"Tree height is "<<height<<endl;
 }
 int main(){
   cout<<"befor opening brace"<<endl;
   Tree t(12);
   cout<<"after Tree creation"<<endl;
   t.printsize();
   t.grow(4);
   cout<<"before closing brace"<<endl;
 }
 cout<<"after closing brace"<<end;
}
 
############################################
 
下面是程序输出结果
 
befor opening brace
after Tree creation
Tree height is 12
befor closing brace
inside Tree destrcutor
Tree height is 16
after closing brace
 
########################################

程序很简单就是建立了个构造函数与析构函数

万贤君出现一个疑问~

为什么要在/* cout<<"before closing brace"<<endl */这行代码后才进行析构函数/* ~Tree() */的运行呢??还有就是/* t.grow(4) */是不是应该运行在/* cout<<"before closing brace"<<endl */之前啊? 此段代码来自TIC2vone没有进行编译测试,TIC2vone应该不会有问题吧?
万贤
作家
作家
  • 铜币1枚
  • 威望24点
  • 贡献值1点
1C#
发布于:2006-01-14 21:47
Re:[万贤美文] 之 一个小疑问
只是有一些疑惑关于编译顺序的问题~~
★fly★
著名写手
著名写手
  • 铜币0枚
  • 威望0点
  • 贡献值0点
2C#
发布于:2006-01-14 23:47
Re:[万贤美文] 之 一个小疑问
天~
你也研究这个?
[fly][color=#ff0012]开始混日子。。。[/color][/fly] [img]http://id.91cool.net/sign/?name=印苑家园[/img]
缘来以成往事
小有名气
小有名气
  • 铜币1枚
  • 威望0点
  • 贡献值0点
3C#
发布于:2006-01-14 23:57
Re:[万贤美文] 之 一个小疑问
有前途
印院的计算机专业就靠你了!
现在计算机专业的学生都在忙着研究War3
至于编程嘛不是不想学,实在是忙呀
梨树开着它的梨花, 我的心间落着我的雪花, 孤独是我的个性!
松柏
论坛版主
论坛版主
  • 铜币371枚
  • 威望39点
  • 贡献值0点
  • 社区居民
4C#
发布于:2006-01-15 09:06
Re:[万贤美文] 之 一个小疑问
 int main()
{
  {  // 这个大括号是我加的,我觉得这里应该有
   cout<<"befor opening brace"<<endl;
   Tree t(12);
   cout<<"after Tree creation"<<endl;
   t.printsize();
   t.grow(4);  // 这里只是加了4,但没有输出
   cout<<"before closing brace"<<endl;
  }  // t 的生存期就到这里,所以在这里的时候被销毁,析构函数里输出了 height 的值
  cout<<"after closing brace"<<end;
} [ 2006-01-15 09:07:28 松柏 修改 ]
[color=#0000FF]馋嘴蜗牛[/color] 我的博客:[url]http://osnaile.osdn.cn/[/url]
★fly★
著名写手
著名写手
  • 铜币0枚
  • 威望0点
  • 贡献值0点
5C#
发布于:2006-01-15 11:39
Re:[万贤美文] 之 一个小疑问
越看越晕~
不懂...
走人~
[fly][color=#ff0012]开始混日子。。。[/color][/fly] [img]http://id.91cool.net/sign/?name=印苑家园[/img]
万贤
作家
作家
  • 铜币1枚
  • 威望24点
  • 贡献值1点
6C#
发布于:2006-01-15 15:15
Re:[万贤美文] 之 一个小疑问
哦,谢谢松老大~

我是忘了加一个 { 是夹在cout<<"befor opening brace"<<endl下面一行的,意思都一样
印苑霓虹灯
著名写手
著名写手
  • 铜币25枚
  • 威望1点
  • 贡献值0点
7C#
发布于:2006-01-15 15:33
Re:[万贤美文] 之 一个小疑问
题目有点不大习惯!!!
Einmal ist Keimnal.
海洋的女儿小草
著名写手
著名写手
  • 铜币0枚
  • 威望69点
  • 贡献值0点
8C#
发布于:2006-01-16 14:22
Re:[万贤美文] 之 一个小疑问
天啊
好深奥了
白学了二年计算机
嘻嘻:)
[IMG]http://rs.phpwind.net/E___5192ZHALPWFG.gif[/IMG]
游客

返回顶部