【发布时间】:2010-11-28 10:05:13
【问题描述】:
我在编译时收到此错误 -> 无法将字段 M1::sc 声明为抽象类型 I1,因为以下虚函数在 I1 中是纯的。请帮忙。
class I1
{
public:
virtual void a(int dir) = 0;
virtual void b() = 0;
virtual void c() = 0;
void a(int dir) {
....
}
void b() {
....
}
void c() {
....
}
};
class I2 : public I1
{
public:
void a(int dir) {
....
}
void b() {
....
}
void c() {
....
}
};
class M1 : public G1
{
protected:
I1 sc;
public:
int dir = 4;
sc.a(dir);
};
完整的代码可以在http://pastebin.com/PFrMTJuF找到。
【问题讨论】:
-
您真正想要的可能是
sc成为I1 const&
标签: c++ abstract-class