C++ - 构造函数调用构造函数

Eva*_*ard 3 c++ constructor

我不知道如何用它来表达它或它实际上被称为什么,但我知道在Objective-C中你可以有多个构造函数可以连续相互调用,原谅任何代码错误,我有一段时间没有这样做,但这个想法就在那里.

- (id)initWithTitle:(NSString *)_title;
- (id)initWithTitle:(NSString *)_title page:(NSString *)_page;

-----------------------------------

- (id)initWithTitle:(NSString *)_title {
    return [self initWithTitle:_title page:nil];
}

- (id)initWithTitle:(NSString *)_title page:(NSString *)_page {
    if(self = [super init]) {
        self.title = _title;
        self.page = _page;
    }
    return self;
}
Run Code Online (Sandbox Code Playgroud)

我只是想知道在c ++中是否有相同的东西;

Sea*_*ean 5

在C++ 11之前,你无法做到这一点,但从C++ 11开始,你可以做到

class Foo  {
     int d;         
public:
    Foo  (int i) : d(i) {}
    Foo  () : Foo(42) {} //new to c++11
};
Run Code Online (Sandbox Code Playgroud)