Home | History | Annotate | Download | only in test

Lines Matching defs:C2

52 struct C2
57 explicit C2(int id) : B(id-2), id_(id) {count++;}
58 C2(const C2& a) : B(a.id_-2), id_(a.id_) {count++;}
59 ~C2() {count--;}
62 int C2::count = 0;
65 : C1, C2
69 explicit A(int id) : C1(id-1), C2(id-2), id_(id) {count++;}
70 A(const A& a) : C1(a.id_-1), C2(a.id_-2), id_(a.id_) {count++;}
80 assert(C2::count == 0);
85 assert(C2::count == 1);
90 assert(static_cast<C2&>(a).id_ == 3);
92 assert(static_cast<B&>(static_cast<C2&>(a)).id_ == 1);
103 assert(C2::count == 0);
112 assert(static_cast<const C2&>(a).id_ == 3);
114 assert(static_cast<const B&>(static_cast<const C2&>(a)).id_ == 1);
121 catch (const C2&)
137 assert(C2::count == 0);
152 catch (const C2&)
164 assert(C2::count == 0);
173 catch (const C2& c2) // can catch C2
175 assert(c2.id_ == 3);
176 assert(static_cast<const B&>(c2).id_ == 1);
197 assert(C2::count == 0);