adsense


Thursday, 26 November 2015

C++ LANGUAGE ABSTRACT CLASS EXAMPLE

COMPUTER LANGUAGES HTML,C,C++.JAVA,.NET AND MULTIMEDIA basics and programs click home button



C++ LANGUAGE ABSTRACT CLASS EXAMPLE




Abstract Class Example 


Consider the following example where parent class provides an 
interface to the base class to implement a function called getArea(): 
#include <iostream> 
29. INTERFACES 
  
using namespace std; 
  
// Base class 
class Shape  
{ 
public: 
   // pure virtual function providing interface framework. 
   virtual int getArea() = 0; 
   void setWidth(int w) 
   { 
      width = w; 
   } 
   void setHeight(int h) 
   { 
      height = h; 
   } 
protected: 
   int width; 
   int height; 
}; 
  
// Derived classes 
class Rectangle: public Shape 
{ 
public: 
   int getArea() 
   {  
      return (width * height);  
   } 
}; 
class Triangle: public Shape 
{ 
public: 
   int getArea() 
   {  
      return (width * height)/2;  
   } 
}; 
  
int main(void) 
{ 
   Rectangle Rect; 
   Triangle  Tri; 
  
   Rect.setWidth(5); 
   Rect.setHeight(7); 
   // Print the area of the object. 
   cout << "Total Rectangle area: " << Rect.getArea() << endl; 
 
   Tri.setWidth(5); 
   Tri.setHeight(7); 
   // Print the area of the object. 
   cout << "Total Triangle area: " << Tri.getArea() << endl;  
 
   return 0; 
} 

When the above code is compiled and executed, it produces the following result: 
Total Rectangle area: 35 
Total Triangle area: 17 
You can see how an abstract class defined an interface in terms of 
getArea() and two other classes implemented same function but with 
different algorithm to calculate the area specific to the shape. 


No comments: