#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;
}
你是比對java來提問的麼?
一個類別全是純虛函數就相當於java的接口,這種類的指針你可以理解為接口類指針
一個類部分是純虛函數就相當於java的抽象類,這種類的指針你可以理解為抽象類別指標
c++其實沒有介面概念吧,我是從java轉c++的 看你問的感覺也像
最後一個問題,可以,這種指向常用來實現多態
c++中的純虛類別可以理解為抽象類別~這種類別無法實例化,但是可以指向其非純虛類別的子類別實例~
抽象類別或介面類別就是做這個用的
輸出
就是純虛函數啦,你可以百度一些部落格看看