MyClass のヘッダー ファイルで次のように宣言できます。
void* operator new(size_t size) throw(bad_alloc);
MyClass ソース ファイルで次のように定義します。
void* MyClass::operator new(size_t size) throw(bad_alloc)
{
cout << "overloading new" << endl;
return (::operator new(size));
}
そしてこれを使用するには:
MyClass *m = new MyClass();
だから私の質問は - オーバーロードされた new 演算子を使用する上記のコード行では、タイプ size_t のサイズ引数をオーバーロードされた new 演算子に渡しているのが見えませんか?? しかし、オーバーロードされた新しい演算子の定義では、それが必要ですか?