ホームページ >バックエンド開発 >C++ >私のクラス コンストラクターが呼び出されないのはなぜですか?

私のクラス コンストラクターが呼び出されないのはなぜですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-26 14:57:14909ブラウズ

Why Doesn't My Class Constructor Get Called?

コンストラクターへの呼び出しがないのはなぜですか?

提供されたコードは、Class クラスのインスタンスを作成しようとしています。ただし、現在の実装では予期しない動作が発生します。コードでは、オブジェクトの作成時に実行されるコンストラクターが定義されていますが、出力にはこれが反映されていません。

詳しく調べると、コードには重大なエラーが含まれています。 Class object(); という行Class クラスのオブジェクトを正しく宣言していません。代わりに、クラスと同じ名前の関数が誤って宣言されています。

この問題を修正するには、Class クラスのインスタンスを正しく作成するようにコードを変更する必要があります。

#include<iostream>
using namespace std;

class Class
{
public:
    Class()
    {
        cout << "default constructor called" << endl;
    }

    ~Class()
    {
        cout << "destructor called" << endl;
    }
};

int main()
{
    Class object; // Corrected line: Create an object of Class
}

この修正により、オブジェクトの作成時にデフォルトのコンストラクターが適切に呼び出されるようになり、期待どおりの出力が生成されるようになります。

以上が私のクラス コンストラクターが呼び出されないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。