컴파일시이 오류가 발생합니다. - 다음 가상 함수가 I1 내에서 순수하기 때문에 필드 M1 :: sc를 추상 형식 I1로 선언 할 수 없습니다. 도와주세요.C++ : 필드를 추상 형식으로 선언 할 수 없습니다.
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_가 무엇을 나타 냅니까? 저렇게 사용할 수 있을까요? – user522767
@user,'sc_'는'M1' 인스턴스를 생성하는 데 필요한 생성자 매개 변수입니다. 필자의 예에서는 'I1'에서 파생 된 구체적인 클래스의 인스턴스를 가리켜 야하고'a() ','b() '및'c() '구현을 제공해야합니다. 예 : 'I2' 인스턴스가 작동합니다. –
내 코드를 보내 주시겠습니까? 저는 C++을 처음 접했고 프로젝트에 몇 개의 파일이 함께 링크되어 있기 때문에 모든 것을 설명 할 수는 없습니다. – user522767