1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
extern "C" {
extern void __ikos_assert(int) noexcept;
}
class A {
public:
A() noexcept {}
virtual void f() { __ikos_assert(false); }
virtual void g() { __ikos_assert(false); }
virtual ~A() {}
};
class B : public A {
public:
B() noexcept {}
void f() { __ikos_assert(true); }
void g() { __ikos_assert(false); }
};
class C : public A {
public:
C() noexcept {}
void f() { __ikos_assert(false); }
void g() { __ikos_assert(false); }
};
int main() {
A* a = new B();
a->f();
return 0;
}
|