クラスの仮想関数はデストラクタまたはコンストラクタから呼び出されない
// CallExpr [ isClassMember() ] [ isVirtual() ] [ ancestor::FuncBody / parent::*[ isConstructor() | isDestructor() ] ]
コピー
class base{
public:
base(int, int);
~base();
void xyz();
virtual void display();
int x = 5;
};
base::base (int a, int b) {
display(); // MATCHES
xyz();
}
base::~base() {
display(); // MATCHES
xyz();
}
class derived : public base {
public:
void display();
int y = 0;
};
void main() {
base *ptr = new derived();
ptr->display();
}