相关疑难解决方法(0)

何时使用虚拟析构函数?

我对大多数OO理论有了深刻的理解,但让我困惑的一件事是虚拟析构函数.

我认为无论什么以及链中的每个对象,析构函数总是会被调用.

你什么时候打算让它们成为虚拟的?为什么?

c++ polymorphism shared-ptr virtual-destructor

1420
推荐指数
13
解决办法
66万
查看次数

如何声明指向类对象的指针向量?

问题是我正在努力制作类Shape 的对象。我声明了向量,但不知道如何将它连接到类Shape及其对象。代码本身有一个基类,它是Shape,然后是两个子类CircleRectancle。代码的思路是在main函数中使用一个vector,对于Circle区域和Rectangle区域有多种情况。这是代码:

#include <iostream>
#include <string>
#include <vector>
using namespace std;

class Shape
{
public:
    virtual double GetArea() const = 0
    {

    }

private:

};

class Circle : public Shape
{
public:
    Circle(double p, double r) // constructor
    {
        pi = p;
        radius = r;
    }

    Circle() : pi(3.14), radius(0) {} // default constructor

    void SetRadius(double value)
    {
        radius = value;
    }

    double GetRadius() const
    { …
Run Code Online (Sandbox Code Playgroud)

c++ oop class vector object

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