C++里有抽象类指针吗?
巴扎黑
巴扎黑 2017-04-17 12:07:06
0
4
1157

请问C++有抽象类指针吗?
请问C++有接口类指针吗?
如果有,那么抽象类的指针能指向非抽象的子类对象吗?

巴扎黑
巴扎黑

全部回覆(4)
阿神

你是比對java來提問的麼?
一個類別全是純虛函數就相當於java的接口,這種類的指針你可以理解為接口類指針
一個類部分是純虛函數就相當於java的抽象類,這種類的指針你可以理解為抽象類別指標

c++其實沒有介面概念吧,我是從java轉c++的 看你問的感覺也像

最後一個問題,可以,這種指向常用來實現多態

洪涛

c++中的純虛類別可以理解為抽象類別~這種類別無法實例化,但是可以指向其非純虛類別的子類別實例~

刘奇

抽象類別或介面類別就是做這個用的

#include <iostream>
using namespace std;

class Base
{
public:
    virtual void foo() = 0;
};

class Child1: public Base
{
public:
    virtual void foo() 
    {
        cout << "Child1 foo" << endl;
    }
};

class Child2: public Base
{
public:
    virtual void foo()
    {
        cout << "Child2 foo" << endl;
    }
};

int main()
{
    Base *p1 = new Child1();
    p1->foo();
    Base *p2 = new Child2();
    p2->foo();
    return 0;
}

輸出

Child1 foo
Child2 foo
黄舟

就是純虛函數啦,你可以百度一些部落格看看

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板