#include <iostream> 

using namespace std;


class Shape {

protected:

int width, height;


public:

Shape(int a = 0, int b = 0) {

width = a;

height = b;

}


int area() {

cout << "Parent class area :" << endl;

return 0;

}

};


class Rectangle : public Shape {

public:

Rectangle(int a = 0, int b = 0) :Shape(a, b) { }

int area() {

cout << "Rectangle class area :" << endl;

return (width * height);

}

};


class Triangle : public Shape{

public:

Triangle(int a = 0, int b = 0) :Shape(a, b) { }

int area() {

cout << "Triangle class area :" << endl;

return (width * height / 2);

}

};


// Main function for the program

int main() {

Shape *shape;

Rectangle rec(10, 7);

Triangle  tri(10, 5);


// store the address of Rectangle

shape = &rec;


// call rectangle area.

shape->area();


// store the address of Triangle

shape = &tri;


// call triangle area.

shape->area();


return 0;

}



--------------------------------------------


#include <iostream> 

using namespace std;


class Shape {

protected:

int width, height;


public:

Shape(int a = 0, int b = 0) {

width = a;

height = b;

}


virtual int area() {

cout << "Parent class area :" << endl;

return 0;

}

};


class Rectangle : public Shape {

public:

Rectangle(int a = 0, int b = 0) :Shape(a, b) { }

int area() {

cout << "Rectangle class area :" << endl;

return (width * height);

}

};


class Triangle : public Shape{

public:

Triangle(int a = 0, int b = 0) :Shape(a, b) { }

int area() {

cout << "Triangle class area :" << endl;

return (width * height / 2);

}

};


// Main function for the program

int main() {

Shape *shape;

Rectangle rec(10, 7);

Triangle  tri(10, 5);


// store the address of Rectangle

shape = &rec;


// call rectangle area.

shape->area();


// store the address of Triangle

shape = &tri;


// call triangle area.

shape->area();


return 0;

}

'Programming > C,C++' 카테고리의 다른 글

STL list 예제 코드[펌]  (0) 2017.02.14
Template 예제  (0) 2017.01.24
class와 OOP 예제2  (0) 2017.01.20
class와 OOP 예제  (0) 2017.01.20
Callback 예제 코드  (0) 2017.01.19
Posted by 루나s
,