2011-07-06 1 views
1

불즈 아이 코드 커버리지에 관한 문제를 만났습니다. 그것은 프로그램의 추적 능력입니다. 다음 코드는 추적되지 않습니다.불즈 아이 코드 범위가 상속 된 클래스의 순수 가상 함수를 추적하지 않는 이유는 무엇입니까?

class A 
{ 
public: 
    virtual void func() = 0; 
}; 

class B 
{ 
public: 
    virtual void func() 
    { 
     std::cout << "Am I traced?" << std::endl; 
    } 
}; 

void main() 
{ 
    A *pa = new B; 
    pa->func(); 
} 

나는 불즈 아이가 순수 가상 기능을 추적하지 못한다고 생각합니다. 이 프로그램에 대한 지식이있는 사람이 있으면 나에게 조언을 해주십시오.

+0

컴파일되지 않습니다. 'class'는 타입이 아닙니다; '자동차'를 뜻 했니? –

답변

2

당신은 주어진 프로그램이 오류가 있습니다

void func() = 0; 

가 있어야

virtual void func() = 0; 

그리고,

class *pa = new B; 

이어야를

class B *pa = new B; // `class` keyword not needed 

또한 AB은 관련이 없습니다 (상속 불가).

+0

감사합니다, iammilind. –

관련 문제