标题:复制构造函数怎么不调用
取消只看楼主
心痛
Rank: 1
等 级:新手上路
帖 子:2
专家分:3
注 册:2012-2-24
结帖率:100%
已结贴  问题点数:30 回复次数:0 
复制构造函数怎么不调用
如下面代码所示:
class A{
 public:
  A():num(0)
  {}
  A(int n):num(n)
  {std::cout << "A(int n)" << std::endl;
  }
  A(const A &a)
  {std::cout <<"copy" <<std::endl;
  this.num=a.num;
  return *this;
  }
  private:int num;
};

int main()
{A a=10;
}
输出结果为:A(int n)
为什么不调用复制构造函数呢,请高手指教?
但C++Primer中说,先调用A(int n)这个构造函数创建一个临时对象,再调用复制构造函数初始化a
搜索更多相关主题的帖子: class 函数 public 
2012-02-25 16:25



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-361624-1-1.html




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

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