相关疑难解决方法(0)

你如何在C++中声明一个接口?

如何设置代表接口的类?这只是一个抽象的基类吗?

c++ inheritance abstract-class interface pure-virtual

781
推荐指数
11
解决办法
46万
查看次数

如何在C++中模拟接口?

由于C++缺少interfaceJava和C#的特性,在C++类中模拟接口的首选方法是什么?我的猜测是抽象类的多重继承.在内存开销/性能方面有什么影响?这种模拟接口是否有任何命名约定,例如SerializableInterface

c++ abstract-class interface naming-conventions

38
推荐指数
4
解决办法
1万
查看次数

"依赖倒置"中的"倒置"是什么意思

我正在学习春天.我理解依赖注入.在某些地方,我也看到它称为依赖倒置.我知道为什么它被称为注射,但是"反转"是什么意思?它实际上反转了哪种依赖?

java spring

7
推荐指数
1
解决办法
807
查看次数

如何在不使用 new 和 delete 的情况下实例化抽象类?

考虑以下代码,

class Interface
{
public:
    Interface(){}
    virtual ~Interface(){}
    virtual void method1() = 0; 
                                  
    virtual void method2() = 0;
};

class Concrete : public Interface
{
private:
    int myMember;

public:
    Concrete(){}
    ~Concrete(){}
    void method1();
    void method2();
};

void Concrete::method1()
{
    // Your implementation
}

void Concrete::method2()
{
    // Your implementation
}

int main(void)
{
    Interface *f = new Concrete();

    f->method1();
    f->method2();

    delete f;

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

笔者使用的Interface *f = new Concrete();实例在主函数一个抽象类,后来他用delete f;,但这个问题newdelete …

c++

1
推荐指数
1
解决办法
85
查看次数

有没有构造函数的类是否有意义?

我想知道如果派生类有一个没有构造函数的类是否有意义.如果没有,有没有办法以不同的方式做我想要的事情?

我的情况如下:我希望用户只使用派生类,但这些类具有共同的数据成员和方法.

编辑:由于类存在默认构造函数,这意味着用户可以直接创建Instrument的实例,那么我该怎么做我想要的呢?

class instrument{
    public:
        double get_price();
        std::string get_udl();

    private:
        double m_price;
        std::string m_udl;

};

class stock : public instrument{
    public:
        double get_dividend();

    private:
        double m_dividend;
};

class option : public instrument{
    public:
        double get_strike();
    private:
        double m_strike;
};
Run Code Online (Sandbox Code Playgroud)

c++ class

0
推荐指数
1
解决办法
539
查看次数