开发者

Interface in cpp

I want to create interface in cpp such that is any class implement that class then that class must imp开发者_如何学编程lement parent class's functions. if all functions are not implemented then it must shows error.

class parent {   // interface class
   public :
      virtual void display();
}
class base : public parent {
    void display(); // this method must be implemented in this class 
}

please help me for this type of inheritance in c++.


Use a pure virtual member function:

virtual void display() = 0;

This makes the class abstract (you can't make instances of it), and any non-abstract deriving class must implement such functions.

Here's a Wikipedia link with a more formal definition: http://en.wikipedia.org/wiki/Virtual_function#Abstract_classes_and_pure_virtual_functions


Just one change

class parent {   // interface class
   public :
      virtual void display() = 0;
}

This is called a pure virtual function in C++.


you can use abstract class(or pure virtual class):

class AB {
public:
    virtual void f() = 0;
};

abstract class can be used in cpp like interface in java/c#, although they were different in compiler's perspective.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜