我正在开发一个C++类,它为网络提供了BSD套接字的抽象。我想定义一个由CSocket和MockSocket (后者用于单元测试)实现的接口ISocket。我知道我需要将我希望实现类提供的方法定义为纯虚的。
class ISocket {
public:
virtual int Socket(int domain, int type, int protocol) = 0;
};
我担心的是ISocket类型的类是否可以实例化。我的直觉告诉我,任何至少有一个纯虚方法的类都是抽象类(即接口),不能被实例化,但是我有一个小小的担忧,那就是我需要对C++编译器将提供的自动生成的构造函数和析构函数做