选择题   设有以下定义和程序:
    #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 A±'<<end1;
      }
    };
    void main()
    {
      A1 obj1;
      A2 obj2;
      A3 obj3;
    }
    则以下不合语法的调用语句是   
 
【正确答案】 C
【答案解析】C++中,通过类的对象只能访问类的公有成员,不能访问类的保护成员和私有成员。A2是A1的公有派生类,A3是A2的保护派生类,所以类A1的成员函数showl()在类A3中呈现保护属性,不能通过A3类的对象访问。