C ++ cómo ordenar una variable de matriz [cerrado]

Recibí una llamada de clase de padres

Shape

Forma tiene llamada de 2 niños

Square and Rectangle

La clase de forma tiene un área de llamada variable, que es de tipo int

Así que creé un objeto de Square, Rectangle como este.

int main()
{
    Shape *shaped[100];

    //then i did some adding of object..
    int areaValue;
    areaValue=1;

    shaped[0] = new Rectangle();
    shaped[0]->setArea(areaValue);

    areaValue=7;
    shaped[1] = new Square();
    shaped[1]->setArea(areaValue);

    areaValue=5;
    shaped[2] = new Square();
    shaped[2]->setArea(areaValue);

    shapeCounter = 3;

    sort(shaped[0],shaped[2]);

    for (int i=0;i<shapeCounter;i++)
    {
        cout << shaped[i].getArea() << endl;
    }

}

Intento ordenar por área ascendente pero no funciona. Sin cambio de posición, el área sigue en la misma secuencia.

Gracias por toda la ayuda!

Actualizar:

Hice los siguientes cambios en Shape.cpp

 bool Shape::orderByArea(const Shape* lhs, const shape* rhs)
    {
      return lhs->area() < rhs->area();
    }

Entonces en main.cpp hice esto

std::sort(shaped, shaped + 3, orderByArea);

sin embargo recibo un error, orderByArea no fue declarado en este alcance.

Otra cosa que probé fue: Ordenar utilizando vector

En Shape.h

public:

bool operator<const Shape& x) const
{
return area < x.area;
}

En main.cpp

vector<ShapeTwoD*> sortVector;
sortVector.clear();
sortVector.assign(shaped,shaped + shapeCounter);

sort(sortVector.begin(),sortVector.end());

for(int i=0;i<shapeCounter;i++)
{
cout << sortVector[i].toDisplay() << endl;
}

Pero nada parece solucionado. Intento hacer una impresión de su posición es la misma.

Actualizaciones: Está arreglado ahora. La clase está funcionando. Gracias a los expertos!

Tengo otra pregunta es

Forma * en forma [100];

¿Cómo copio el valor de

Shape *shaped[100];

dentro

vector<Shape> myVector;

en lugar de

vector<Shape*> myVector;

así que puedo usar el tipo de objeto normal.

Respuestas a la pregunta(2)

Su respuesta a la pregunta