C++ arayüzleri hiçbir yerleşik kavramları vardır. Sadece pure virtual functions'u içeren abstract classes'u kullanarak uygulayabilirsiniz. Birden fazla mirasa izin verdiğinden, bu sınıfı daha sonra bu arabirimi (yani, nesne arayüzü :-)) içerecek başka bir sınıf oluşturmak için devralabilirsiniz.
Örnek bir örnek şöyle bir şey olurdu -
class Interface
{
public:
Interface(){}
virtual ~Interface(){}
virtual void method1()=0; // "=0" part makes this method pure virtual, and
// also makes this class abstract.
virtual void method2()=0;
};
class Concrete : public Interface
{
private:
int myMember;
public:
Concrete(){}
~Concrete(){}
void method1();
void method2();
};
// Provide implementation for the first method
void Concrete::method1()
{
// Your implementation
}
// Provide implementation for the second method
void Concrete::method2()
{
// Your implementation
}
int main(void)
{
Interface *f = new Concrete();
f->method1();
f->method2();
delete f;
return 0;
}
Arabirim, sanal bir yıkıcıya sahip olmadığı için _undefined behavior_adı var. –
@CharlesBailey: Üzgünüm, bundan bahsetmeyi unuttum. Onu yakaladığın için teşekkürler! Şimdi iyi mi? –
... Beton :: method1 ve Beton :: Method2 tanımlamak çünkü aynı zamanda örnek derleme olmamalı ama yine de soyut olmasına rağmen bu Beton ve you.instantiate Betonun geçerli üye olmamakla birlikte. –