查看完整版本 : C++ constructor 問題

ghostkcleung 2018-8-25 07:31 AM

C++ constructor 問題

以下係 Java Code:

class A extends B {
  public A( ){
     this( 123, 456 );
  }

  public A( int x, int y ) {
    super ( x );
  }
}

喺 C++ 點樣 this 個 constructor ?

jasonchan35 2018-8-25 09:34 AM

[quote]原帖由 [i]ghostkcleung[/i] 於 2018-8-25 07:31 AM 發表 [url=https://computer.discuss.com.hk/redirect.php?goto=findpost&pid=486180027&ptid=27667826][img]https://computer.discuss.com.hk/images/common/back.gif[/img][/url]
以下係 Java Code:

class A extends B {
  public A( ){
     this( 123, 456 );
  }

  public A( int x, int y ) {
    super ( x );
  }
}

喺 C++ 點樣 this 個 constructor ? [/quote]

依個叫 delegating constructors 要 C++11,
C++11 之前我會整個 private function, 之後所有 constructor call 返同一個

[url]http://cpp.sh/5vzl6[/url]


#include <iostream>
#include <string>

class B {
public:
    B(int x) {}   
};

class A : public B {
public:
    // call delegating constructor
    A() : A(123, 456) {}

    // call base class constructor
    A(int x, int y) : B(x) {}
};

int main()
{
    A a;
    return 0;
}

ghostkcleung 2018-9-1 12:17 PM

[quote]原帖由 [i]jasonchan35[/i] 於 2018-8-25 09:34 AM 發表 [url=https://www.discuss.com.hk/redirect.php?goto=findpost&pid=486183501&ptid=27667826][img]https://www.discuss.com.hk/images/common/back.gif[/img][/url]


依個叫 delegating constructors 要 C++11,
C++11 之前我會整個 private function, 之後所有 constructor call 返同一個

[url]http://cpp.sh/5vzl6[/url]


#include
#include

class B {
public:
    B(int x) {}   
};

... [/quote]

如果 param 係 Object 得唔得?
頁: [1]
查看完整版本: C++ constructor 問題