2012-09-24 9 views
0

을 구현합니다. 내 자식 클래스가 상속 된 추상 데이터 멤버를 구현하지 않는다는 C#에서 컴파일 오류가 발생합니다.상속 된 추상 멤버 오류는 구현하지 않지만 기본 클래스는

public abstract class Transaction 
{ 
    public abstract int MyMethod(); 
} 

public abstract class GeneralTransaction : Transaction 
{ 
    public override int MyMethod() 
    { 
     return 1; 
    } 
} 

public class SpecificTransaction : GeneralTransaction 
{ 
} 

SpecificTransaction이 MyMethod라는 구현되지 않는다는 말을하지만, 왜 있는가에 :

구조는 기본적으로이 무엇입니까? GeneralTransaction 클래스가이 클래스를 구현하고 SpecificTransaction 클래스가 해당 클래스를 상속합니까?

+3

완벽하게 잘 컴파일됩니다. 여기에 코드를 간단하게 게시 할 때 뭔가 바뀌 었다고 생각됩니다. 실제 코드를 다시 확인하고 코드에 대한보다 실제적인 예제를 제공하여 도움을줍니다. –

답변

1

저는 youre 구조가 이보다 더 복잡하다는 것에 대해 사과합니다. 이 예제는 잘 작동합니다.

class Program 
{ 
    static void Main(string[] args) 
    { 
     var tr = new SpecificTransaction(); 
     Console.WriteLine(tr.MyMethod()); //shows 1 
    } 
} 

public abstract class Transaction 
{ 
    public abstract int MyMethod(); 
} 

public abstract class GeneralTransaction : Transaction 
{ 
    public override int MyMethod() 
    { 
     return 1; 
    } 
} 

public class SpecificTransaction : GeneralTransaction 
{ 
} 
+0

실제 구현에서 "무시"가 누락되었습니다. 고맙습니다! – ARW

관련 문제