Abstract Class
· 2 min read
Abstract classes are used for providing an abstraction to the code to make it reusable and extendable.
Abstract class in C++​
It is a class that has at least one pure virtual function (i.e., a function that has no definition). The classes inheriting the abstract class must provide a definition for the pure virtual function.
Program
#include "iostream"
using namespace std;
class AbstractCls
{
public:
      virtual int Add(int a, int b) = 0;
     Â
      int Sub(int a, int b)
      {
            return (a-b);
      }
};
class Math : public AbstractCls
{
public:
      int Add(int a, int b)
      {
       return (a+b);
      }
};
int main()
{
      cout<<"Math Class"<<"\\n";
      Math obj;
      cout<<obj.Add(2, 3)<<"\\n";
      cout<<obj.Sub(5, 3)<<"\\n";
      return 0;
}
//OUTPUT
//Math Class
//5
//2
Abstract class in C​
The abstract modifier is used before the class or method/indexers/events and properties to declare them as abstract.
Sample
using System;
namespace Samples
{
public abstract class AbstractCls
{
public abstract int Add(int a, int b);
public int Sub(int a, int b)
{
return (a - b);
}
}
public class Math : AbstractCls
{
public override int Add(int a, int b)
{
return (a + b);
}
}
class Program
{
static void Main(string\[\] args)
{
Console.WriteLine("Math Class");
Math obj = new Math();
Console.WriteLine(obj.Add(2, 3));
Console.WriteLine(obj.Sub(5, 3));
}
}
}
//OUTPUT
//Math Class
//5
//2