设有以下定义和程序: #include<iostream.h> class A1 { public: void show1() { cout<<"class A1"<<end1; } }; class A2:public A1 { public: void show2() { cout<<"class A2"<<end1; } }; class A3:protected A2 { public: void show3() {cout<<"class A1"<<end1; } }; void main() { A1 obj1; A2 obj2; A3 obj3; } 则以下不合语法的调用语句是( )。
A.obj1.show1();
B.obj2.show1();
C.obj3.show1();
D.obj2.show2();