| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 478 人关注过本帖
标题:这个x是哪来的
取消只看楼主 加入收藏
疯子傻了
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2012-11-24
结帖率:33.33%
收藏
已结贴  问题点数:18 回复次数:1 
这个x是哪来的
问题在红色注释中!!!!!!!!!!!  谢谢


#include <iostream>
using namespace std;
class A
{
public:
    A(int i){cout<<"执行构造函数创建一个对象\n";x=i;}
    A(A&a){x=a.x ;
/* 这个x是哪来的,如果是 “private: int x;”中的 x,干嘛要把x赋给x,这不是很无聊???

*/
cout<<"执行复制构造函数创建一个对象\n";}
    ~A(){cout<<"执行析构函数!\n";}
    int get(){return x;}
private:
    int x;
};
A func()
{
    cout<<"跳转到func函数中!\n";
    A *p=new A(99);
    cout<<"堆中对象的地址:"<<p<<endl;
    return *p;
}
int main()
{
    A&r=func();
    cout<<"堆中对象的副本的地址:"<<&r<<endl;
    cout<<r.get()<<endl;
    A*p=&r;
    delete p;
    return 0;
}

[ 本帖最后由 疯子傻了 于 2012-12-11 15:25 编辑 ]
搜索更多相关主题的帖子: include public 
2012-12-11 15:23
疯子傻了
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2012-11-24
收藏
得分:0 
回复 2楼 mmmmmmmmmmmm
把a.x赋给新对象的x 中的新对象x是在哪声明的呢
2012-12-11 20:29
快速回复:这个x是哪来的
数据加载中...
 
   



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

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