2
私はこのコードを持っている:なぜこのコンストラクタが2回呼び出されますか?
// Example program
#include <iostream>
#include <string>
class Hello{
public:
Hello(){std::cout<<"Hello world!"<<std::endl;}
};
class Base{
public:
Base(const Hello &hello){ this->hello = hello;}
private:
Hello hello;
};
class Derived : public Base{
public:
Derived(const Hello &hello) : Base(hello) {}
};
int main()
{
Hello hello;
Derived d(hello);
return 0;
}
は、印刷結果は次のとおりです。
Hello world!
Hello world!
この問題が発生したのはなぜ?
これは、動きの意味とは何の関係もありません。あなたのコードに動きはありません。 –