像这样在类中使用运算符 new 是否正确

问题描述

嘿伙计们,我试图制作抽象基类,但我做到了。它可以正常工作,但我不确定我是否可以在声明中使用这样的运算符 new。我以为我可以在构造函数中使用 operator new 但看起来我可以像这样使用 operator new :

#include <iostream>
using std::cout;

class abs
{
private:
    int* x = new int;
    int* y = new int;
protected:
    static int count;
public:
    virtual void show() = 0;
    abs() { *x = 0; *y = 1; count++; cout << "Vytvoren objekt tridy ABS: " << count << "\n"; };
    virtual ~abs() { delete x; delete y; count--; cout << "Objekt tridy ABS zrusen: " << count << "\n"; };
};

class one : public abs
{
private:
    int* z = new int;
public:
    virtual void show();
    one();
    virtual ~one() { delete z; count--; cout << "Zrusen objekt tridy ONE: " << count << "\n"; };
};

#endif

是不是可以这样使用还是错了?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)