简体   繁体   English

默认参数可以调用对象构造函数吗

[英]Can default parameter invoke a object constructor

在C ++中,如果函数的参数是用户定义的对象,是否可以通过调用对象的构造函数为其提供默认值?

Of course, by the way I should try.. 当然,我应该尝试一下。

For example: 例如:

/* Your user-define object */
class A { 
 public:
  A( const int& x = 4) : x_(x) {}
  operator int() {return x_;}
 private: 
  int x_;
}

class B {
 public:
  B( const int& y = A(3)) : y_(y) {}
  /* OR */
  B( A* a = new A(4)) : a_(a) {} 
 private: 
  int y_;
  A* a_;
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM