码迷,mamicode.com
首页 > 其他好文 > 详细

构造函数的执行顺序

时间:2017-10-08 14:45:47      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:main   new   ace   void   space   nbsp   logs   out   ring   

先是代码:

#include<iostream>
#include<string>
using namespace std;
class Demo
{
    public:
        Demo(string s);
        ~Demo();
    private:
        string m_s;
};
Demo::Demo(string s):m_s(s){}
Demo::~Demo(){cout<<m_s<<endl;}
void func()
{
    Demo boj1("1");
}
Demo obj2("2");
int main()
{
    //局部对象
    Demo obj3("3");
    Demo *pobj4=new Demo("4");
    func();
    cout<<"main"<<endl;
    return 0;
}

 

然后运行结果是

1
main
3
2

 这里分析下堆栈和构造函数初始化中的函数调用顺序:

 

构造函数的执行顺序

标签:main   new   ace   void   space   nbsp   logs   out   ring   

原文地址:http://www.cnblogs.com/enyala/p/7637282.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!