
//
// To jest przykładowy kod z podrozdziału 19.3.3 „Kontenery a dziedziczenie” książki
// "Programowanie. Teoria i praktyka z wykorzystaniem C++" Bjarne'a Stroustrupa.
//

#include "std_lib_facilities.h"
#include "../GUI/Graph.h" // Dołącza narzędzia z naszej biblioteki graficznej.

using namespace Graph_lib;

//------------------------------------------------------------------------------

int main()
{
    vector<Shape> vs;
    vector<Circle> vc;
    //vs = vc;       // Błąd: wymagany vector<Shape>.
    void f(vector<Shape>&);
    //f(vc);         // Błąd: wymagany vector<Shape>.

    vector<Shape*> vps;
    vector<Circle*> vpc;
    //vps = vpc;     // Błąd: wymagany vector<Shape*>.
    void f(vector<Shape*>&);
    //f(vpc);        // Błąd: wymagany vector<Shape*>.
}

//------------------------------------------------------------------------------

void f(vector<Shape*>& v)
{
    v.push_back(new Rectangle(Point(0,0),Point(100,100)));
}

//------------------------------------------------------------------------------
