| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 551 人关注过本帖
标题:c++类调用问题
取消只看楼主 加入收藏
ycd123
Rank: 1
等 级:新手上路
帖 子:42
专家分:5
注 册:2010-1-6
结帖率:91.67%
收藏
已结贴  问题点数:6 回复次数:0 
c++类调用问题
#include<vector>
#include<iostream>
using namespace std;

struct Exmpl{
    Exmpl(){cout<<"Exmpl()"<<endl;}

    Exmpl(const Exmpl&)
    {cout<<"Exmpl(const Exmpl&)"<<endl;}

    Exmpl& operator=(const Exmpl &rhe)
    {
        cout<<"operator=(const Exmpl&)"<<endl;
        return *this;
    }

    ~Exmpl()
    {cout<<"~Exmpl()"<<endl;}
};

void fun1(Exmpl obj)
{}

void fun2(Exmpl& obj)
{}

Exmpl fun3()
{   
    Exmpl obj;
    return obj;
}

int main()
{
    Exmpl eobj;
    fun1(eobj);
    fun2(eobj);
    eobj=fun3();

    Exmpl *p=new Exmpl;
    vector<Exmpl> evec(3);

    delete p;
    return 0;
}

输出的结果为:
Exmpl()
Exmpl(const Exmpl&)
~Exmpl()
Exmpl()
Exmpl(const Exmpl&)
~Exmpl()
operator=(const Exmpl&)
~Exmpl()
Exmpl()
Exmpl()
Exmpl(const Exmpl&)
Exmpl(const Exmpl&)
Exmpl(const Exmpl&)
~Exmpl()
~Exmpl()
~Exmpl()
~Exmpl()
~Exmpl()
~Exmpl()

书上写有它们是怎样调用的,但是不明白为什么会这样调用,还有当使用完默认构造函数后不需要调用析构函数吗?谢谢啦
搜索更多相关主题的帖子: include return 
2010-10-11 10:22
快速回复:c++类调用问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015098 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved