| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 473 人关注过本帖
标题:请各位帮我看下下面的程序,怎么运行的啊
取消只看楼主 加入收藏
yy7software
Rank: 2
等 级:论坛游民
帖 子:21
专家分:48
注 册:2011-10-13
结帖率:100%
收藏
已结贴  问题点数:0 回复次数:0 
请各位帮我看下下面的程序,怎么运行的啊
#include <iostream>
using namespace std;
class num
{
public:
    num(){n=1;cout<<"构造函数执行"<<endl;}
    num (const num &s){this->n=s.n;cout<<"复制构造函数执行"<<endl;}
    num(int i){n=i;cout<<"构造函数执行"<<endl;}
    ~num(){cout<<"析构函数执行"<<endl;}
    int get()const {return n;}
    void set(int x){n=x;}
    void add(){n++;}
    const num &operator++(){++n;return *this;}
    const num operator++(int o){num temp(*this);++n;return temp;}
private:
    int n;
};
int main()
{
    num i;
    cout<<"i:"<<i.get()<<endl;
    num x=++i;
    cout<<"x:"<<x.get()<<endl;
    cout<<"i:"<<i.get()<<endl;
    x=i++;
    cout<<"x:"<<x.get()<<endl;
    cout<<"i:"<<i.get()<<endl;
    return 0;
}
运行结果:
构造函数执行
i:1
复制构造函数执行  //为什么这里还要执行一次复制构造函数,上面返回的不是别名来初始化对象x的吗
x:2
i:2
复制构造函数执行
复制构造函数执行
析构函数执行
析构函数执行
x:2
i:3
析构函数执行
析构函数执行
搜索更多相关主题的帖子: private include public return 
2011-10-13 11:51
快速回复:请各位帮我看下下面的程序,怎么运行的啊
数据加载中...
 
   



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

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