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

时间:2014-02-11 13:48:31

标签: c++

在C ++中,如果函数的参数是用户定义的对象,我们可以通过调用对象的构造函数给它一个默认值吗?

1 个答案:

答案 0 :(得分:0)

当然,按照我应该尝试的方式......

例如:

/* 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_;
}
相关问题