I come from a C++ background. A nice feature in C++ is pure virtual functions which allow one to create an interface that imposes on any derived class to force it to implement a function. For example, these this code:
class A {
public:
A() {}
virtual void aFunction(void) { printf("Hello"); }
virtual void bFunction(void) = 0;
};
class B : public A {
public:
B() : A() {}
};
does not compile because B does not implement bFunction, but this version of B does compile:
class B : public A {
public:
B() : A() {}
virtual void bFunction(void) { printf("B"); }
};
Are these features (inheritance, virtual functions, and especially pure virtual functions) available in Solidity? Is there any discussion to add them?