クラスのデストラクタの実装について質問があります。〜演算子を使用するのが正しい方法であることは理解していますが、次のコードを見てください。
class foo
{
private:
int* abc;
public:
foo()
{
abc = new int(2);
}
~foo()
{
delete abc;
}
void func()
{
delete abc;
}
}
ここで、main関数が次のように定義されているとしましょう。
int main(int argc, char** argv)
{
foo a;
a.func();
}
mainでfunc()の関数を呼び出すと、これはデストラクタとまったく同じように機能しますか?同様の設定でのデストラクタとこの関数の違いは何ですか?