【求解】关于析构函数!

hyq_1756 2012-09-13 09:43:42
假如定义对象s1,s2,s3,主函数结束的时候调用析构函数的顺序是从s1开始还是从s3开始或者随机?
...全文
139 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
djs80212446 2012-09-13
  • 打赏
  • 举报
回复
http://download.csdn.net/download/vnvlyp/4297289
yx长弓 2012-09-13
  • 打赏
  • 举报
回复
一、
这个问题要看你想问的是什么。
如果你想问的结构是如下代码所示中,A,B在main()结束时候析构函数的调用顺序,(个人理解)应该与编译器有关,因为下段程序中A,B析构函数的调用顺序应当就是“编译器临时变量销毁顺序的问题”,如果是这样,建议将问题修改为“编译器临时变量销毁顺序的问题”,可能更容易获得回答,我也想知道
#include "iostream"  
using namespace std;

class CA
{
public:
~CA(){}
};


class CB
{
public:
~CB(){}
};

void main()
{
CA A;
CB B;
}

-------------------------------------------------------------------------------
二、
如果是想知道类继承关系中,析构函数的调用顺序,可以叁见《C++语言程序设计》第三版(清华大学)第224页,有详细讲解。
djs80212446 2012-09-13
  • 打赏
  • 举报
回复
http://topic.csdn.net/t/20050604/15/4059115.html
最近看程序,看到一个本觉得很简单写都不想写的程序,但是仔细想了一下好像不是很简单.思索了一会,想用最简单的方法编写,但是好像没怎么简单,程序的要求如下:

从标准的程序输入输出一些列string对象,寻找连续重复出现的单词.并同记出现的次数.

自己想了一会,觉得简简单单地没法解决该程序,必须添加类来进行统计.下面是自己的写的程序

############头文件:字符统_计_test.h##################

#include<iostream>
#include<string>
using namespace std;
class tongji
{
public:
string str;
int time;
};
###########实现文件:字符统计_test.cpp#############

#include<iostream>
#include<string>
#include<vector>
#include"字符统计_test.h"
using namespace std;
int main()
{
string input ,str1;
vector<tongji> content;
cout<<"请输入你要的字符串"<<endl;
cin>>input;
tongji t1;
t1.str=input;
t1.time=1;
content.push_back(t1);
while(cin>>str1 && str1!="exit")
{

for(vector<tongji>::size_type i=0;i<content.size();i++)
{
if(content[i].str==str1)
{
content[i].time++;
break;
}
}
if(i>=content.size())
{
tongji t2;
t2.str=str1;
t2.time=1;
content.push_back(t2);
}
}

for(vector<tongji>::size_type i=0;i<content.size();i++)
{
cout<<content[i].str<<"共出现"<<content[i].time<<"次!"<<endl;
}

return 1;
}

昨夜无风 2012-09-13
  • 打赏
  • 举报
回复
s1,
s2,
s3

...

~s3
~s2
~s1
hotpos 2012-09-13
  • 打赏
  • 举报
回复
构造函数调用顺序的逆序调用析构函数.

一般构造函数是按生命顺序来调用的.
taodm 2012-09-13
  • 打赏
  • 举报
回复
逆序。
找本好教材吧,里面就都应该有讲。
hyq_1756 2012-09-13
  • 打赏
  • 举报
回复
请高手指点,本人新手~~~~~

64,676

社区成员

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

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