相当于C ++中的Java接口? [英] Equivalent of Java interfaces in C++?

查看:124
本文介绍了相当于C ++中的Java接口?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述


可能重复:



在c ++中使用java接口?


我是一个学习C ++的Java程序员,我想知道在C ++中是否有类似Java接口的东西,即另一个类可以实现/扩展多个类的类。
谢谢。
p.s.

在C ++中,只包含纯虚拟方法的类表示一个接口。 / p>

示例:

  //定义Serializable接口。 
class Serializable {
//如果对象可能是虚拟析构函数
//通过指向可序列化的指针来删除
virtual〜Serializable(){}

virtual std :: string serialize()const = 0;
};

//实现Serializable接口
class MyClass:public MyBaseClass,public virtual Serializable {
virtual std :: string serialize()const {
//实现去这里。
}
};


Possible Duplicate:
How do you declare an interface in C++?
Interface as in java in c++?

I am a Java programmer learning C++, and I was wondering if there is something like Java interfaces in C++, i.e. classes that another class can implement/extend more than one of. Thanks. p.s. New here so tell me if I did anything wrong.

解决方案

In C++ a class containing only pure virtual methods denotes an interface.

Example:

// Define the Serializable interface.
class Serializable {
     // virtual destructor is required if the object may
     // be deleted through a pointer to Serializable
    virtual ~Serializable() {}

    virtual std::string serialize() const = 0;
};

// Implements the Serializable interface
class MyClass : public MyBaseClass, public virtual Serializable {
    virtual std::string serialize() const { 
        // Implementation goes here.
    }
};

这篇关于相当于C ++中的Java接口?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆