#include <iostream>
const float pi = 3.14159;
class Shape
{
public:
virtual float getArea()//"virtual" couses, compilator
{ //have to find out, on which object
return -1.0; //pointer points (base or derivative)
}
};
class Square: public Shape
{
public:
Square(const float side): a(side){}
void pureVirtualMethod(){}
float getArea()
{
return a * a;
}
private:
float a;
};
int main ()
{
Shape *shape;
Square square(3);
shape = □
std::cout<<square.getArea()<<std::endl;
/*if in base class the getArea() method wasn't mark as virtual
that following line will call method from base class(not derivative)*/
std::cout<<shape->getArea()<<std::endl;
}
czwartek, 23 marca 2017
[C++]Virtual methods
Subskrybuj:
Komentarze do posta (Atom)
Brak komentarzy:
Prześlij komentarz