2011-07-06 3 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

あなたが与えられたプログラムで2つのエラー、持っている:、

virtual void func() = 0; 

そして、

class *pa = new B; 

でなければなりません

void func() = 0; 

をする必要があり、

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

また、ABは関連していないことに注意してください(継承はありません)。

+0

ありがとう、iammilind。 –

関連する問題