设为首页 加入收藏

TOP

C++构造函数:函数参数传递(二)
2014-07-19 22:52:57 来源: 作者: 【 】 浏览:109
Tags:构造 函数 函数参数 传递

 

  测试

  class X

  {

  public:

  X()

  {cout<<"X()"<

  X(const X& x)

  {

  cout<<"X(const X& x)"<

  }

  X& operator=(const X&)

  {

  cout<<"="<

  }

  ~X()

  {cout<<"destructor"<

  };

  void foo(X x0)

  {

  }

  int _tmain(int argc, _TCHAR* argv[])

  {

  X xx;

  foo(xx);

  }

  运行结果:

  可以看出函数参数的传入需要调用拷贝构造函数构建一个临时对象(注:并不是构建形参,形参已经被转化为引用,不再是对象),另外临时对象在函数退出时销毁。

  总结:函数形参中,对象值传递的方式都转化为临时对象和引用传递。

  【1】一个类不展现“位逐次拷贝”的四种情况:

  (1) 这个类有member object,并且这个member object对应的Class定义了拷贝构造函数。

  (2) 这个类的父类定义了拷贝构造函数。

  (3) 这个类中有虚函数(包括其父类有的情况)。

  (4)这个类的继承连中有虚基类。

      

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C语言指针讲解 下一篇AVL树C语言完整实现

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·CPython是什么?PyPy (2025-12-26 06:50:09)
·Python|如何安装seab (2025-12-26 06:50:06)
·python要学习数据分 (2025-12-26 06:50:03)
·每日一道面试题-多线 (2025-12-26 06:20:17)
·java项目中哪些地方 (2025-12-26 06:20:14)