C#中的TestClass为一自定义类,其中有如下属性定义:   public void Property{……}  使用以下语句创建了该类的对象,并让变量obj引用该对象。   TestClass obj=new TestClass();  那么,可通过()方式访问类TestClass的Property属性。A、 MyClass. PropertyB、 obj. PropertyC、 TestClass. PropertyD、 obj. Property()

题目

C#中的TestClass为一自定义类,其中有如下属性定义:   public void Property{……}  使用以下语句创建了该类的对象,并让变量obj引用该对象。   TestClass obj=new TestClass();  那么,可通过()方式访问类TestClass的Property属性。

  • A、 MyClass. Property
  • B、 obj. Property
  • C、 TestClass. Property
  • D、 obj. Property()

相似考题
更多“C#中的TestClass为一自定义类,其中有如下属性定义:   public void Property{……}  使用以下语句创建了该类的对象,并让变量obj引用该对象。   TestClass obj=new TestClass();  那么,可通过()方式访问类TestClass的Property属性。A、 MyClass. PropertyB、 obj. PropertyC、 TestClass. PropertyD、 obj. Property()”相关问题
  • 第1题:

    下面类的声明中的几个语句,正确的是(设定语句是主函数中的语句)( )。 class TestClass { private: int data; public: TestClass(int g_data) { data=g_data; } void show(){cout<<data<<end1;) };

    A.TestClass *p;

    B.TestClass m;

    C.TestClass.data=8;

    D.TestClass.show();


    正确答案:A
    解析:C++中,若没有类的显式声明构造函数则系统会为其提供一个默认的构造函数,若提供了构造函数则会将系统提供的默认的构造函数覆盖。调用构造函数时,实参必须与形参匹配。但是如果声明一个对象指针时,不是定义一个对象,不调用对象的构造函数。

  • 第2题:

    假定TestClass为一个类,则该类的拷贝构造函数的声明语句为( )。

    A.TestClass(TestClass x)

    B.TestClass&(TestClass x)

    C.TestClass(TestClass *x)

    D.TestClass(TestClass &x)


    正确答案:D
    解析:C++中的拷贝构造函数是用一个已知的对象初始化一个正在创建的同类对象。拷贝构造函数的一般格式如下:〈类名〉::〈类名〉(const〈类名〉 &引用对象名>);其中const可以省略。

  • 第3题:

    下列程序中横线处正确的语句是()。includeusing namespace std;class TestClass{publi

    下列程序中横线处正确的语句是( )。 #include<iostream> using namespace std; class TestClass { public: void fun(){cout<<"TestClass::fun"<<end1;} }; class TestClass1:public TestClass { void fun() { ______//显示调用基类的函数 fun() cout<<"TestClass1::fun"<<end1; } };

    A.fun();

    B.TestClass.fun()

    C.TestClass::fun();

    D.TestClass->fun();


    正确答案:C

  • 第4题:

    有如下类说明: class TestClass{ int x; public: TestClass(int n){x=n;} }; class TestClass1:public TestClass{ int y; public: TestClass1(int a,int b); }; 在构造函数TestClass1的下列定义中,正确的是( )。

    A.TestClass1::TestClass1 (int a,int b):x(a),y(b){}

    B.TestClass1::TestClass1 (int a,int b):TestClass(a),y(b){}

    C.TestClass1::TestClass1 (int a,int b):x(a),TestClass1(b){}

    D.TestClass1::TestClass1 (int a,int b):TestClass(a),TestClass1(b){}


    正确答案:B
    解析:题目中程序TestClass为基类,TestClass1为派生类,派生类构造函数的一般形式为:派生类构造函数名(总参数类表):基类构造函数名(参数列表){派生类中新增数据成员初始化语句}。派生类TestClass1的基类函数名为TestClass,总参数为int a,int b,所以选择B)。

  • 第5题:

    类定义如下: class TestClass { public: TestClass (){cout<<1;} }; 则执行语句TestClass a,b[2] ,*p[2];后,程序的输出结果是( )。

    A.11

    B.111

    C.1111

    D.11111


    正确答案:B
    解析:类定义如下:  class TestClass  {  public:  TestClass (){cout1;}  };  则执行语句TestClass a,b[2] ,*p[2];后,程序的输出结果是(  )。

  • 第6题:

    有如下程序:includeusing namespace std;class TestClass{public:virtual void fun1(

    有如下程序: #include<iostream> using namespace std; class TestClass { public: virtual void fun1() { cout<<"fun1TestClass"; } virtual void fun2() { cout<<"fun2TestClass"; } }; class TestClass1:public TestClass { void fun() { cout<<"fun1TestClass1"; } void fun2(int x) { cout<<"fun2TestClass1"; } }; int main() { TestClass obj1,*p; TestClass1 obj2; p=&obj2; p->fun1(); p->fun2(); return 0; } 该程序执行后的输出结果是( )。

    A.fun1TestClass1 fun2TestClass

    B.fun1TestClass1 fun2TestClass1

    C.fun1TestClass fun2TestClass

    D.fun1TestClass fun2TestClass1


    正确答案:A
    解析:TestClass为基类,Testclass1是TestClass的派生类。基类中的fun1和fun2被定义为虚函数,C++规定,当一个成员函数被声明为虚函数后,其派生类中的同名函数都自动成为虚函数,所以派生类中的fun1和tim2也是虚函数。本题从main主函数入手,首先定义了TestClass类型的对象obj1和指针p,然后又定义了TestClass1的对象obi2。指针指向对象obi2,然后调用其成员函数fun1(),即输出“fun1TcstClass1”。多态性是在程序运行过程中才动态地确定操作指针指向的对象,“p->fun2();”语句中没有任何参数,并不是调用派生类中的fun2(intx),而是调用其基类中的fun2(),所以输出“fun2TestClass”。

  • 第7题:

    有以下程序:includeusing namespace std;class TestClass{public:TestClass(int n){n

    有以下程序: #include<iostream> using namespace std; class TestClass { public: TestClass(int n){number=n;} //拷贝构造函数 TestClass(TestClass&other){number=other.number;} ~TestClass(){} private: int number; }; TestClass fun(TestClass P) { TestClass temp(p); return temp; } int main() { TestClass obj1(10),obj2(0) ; TestClass obj3(obj 1) ; obj2=fun(obj3) ; return 0: } 程序执行时,TestClass类的构造函数被调用的次数是( )。

    A.2

    B.3

    C.4

    D.5


    正确答案:C
    解析:obj1(10) 执行一次构造函数,obj2(0) 也执行一次构造函数;obj3(obj1) t3t.obj1作为参数执行一次构造函数;fun(obji3) 中的temp(p)将执行一次构造函数,而fun本身是以按值传递参数,形参在fun函数内也要分配独立的空间,所以也要执行一次构造函数,其返回结果也是TestClass类型的,同样需要执行一次构造函数,所以一共要执行4次。

  • 第8题:

    将下面类TestClass中的函数fun()的对象成员n值修改为100的语句应该是( )。 class TcstClass { public: TestClass(int x){n=x;} void SetNum(int n1){n=n1;} private: int n; } int fun() { TestClass*ptr=new TestClass(45); ______; }

    A.TestClass(100)

    B.ptr->SetNum(100)

    C.SetNum(100)

    D.ptr->n=100


    正确答案:B

  • 第9题:

    若有以下程序:includeusing namespace std;class TestClass{public:void who(){cout<

    若有以下程序: #include<iostream> using namespace std; class TestClass { public: void who(){cout<<"TestClass"<<endl;} }; class TestClass1:public TestClass { public: void who(){cout<<"TestClass1"<<endl;} }; int main() { TestClass *p; TestClass1 obj1; P=&obj1; P->who(); return 0; 则该程序运行后的输出结果是( )。

    A.TestClass1

    B.TestClass

    C.0

    D.无输出


    正确答案:B

  • 第10题:

    C#中MyClass为一自定义类,其中有以下方法定义publicvoidHello(){⋯⋯}使用以下语句创建了该类的对象,并使变量obj引用该对象:MyClassobj=newMyClass();那么,可如何访问类MyClass的Hello方法?()。

    • A、obj.Hello();
    • B、obj::Hello();
    • C、MyClass.Hello();
    • D、MyClass::Hello();

    正确答案:A

  • 第11题:

    单选题
    C#中TestClass为一自定义类,其中有以下属性定义 publicvoidProperty{…} 使用以下语句创建了该类的对象,并使变量obj引用该对象: TestClassobj=newTestClass(); 那么,可通过什么方式访问类TestClass的Property属性?()
    A

    Obj,Property;

    B

    MyClass.Property;

    C

    obj::Property;

    D

    obj.Property;


    正确答案: D
    解析: c既然实例化了obj这个对象,就可以用obj方法该类的属性,则可通过obj.Property方式访问类TestClass的Property属性。

  • 第12题:

    单选题
    C#中的TestClass为一自定义类,其中有如下属性定义:   public void Property{……}  使用以下语句创建了该类的对象,并让变量obj引用该对象。   TestClass obj=new TestClass();  那么,可通过()方式访问类TestClass的Property属性。
    A

     MyClass. Property

    B

     obj. Property

    C

     TestClass. Property

    D

     obj. Property()


    正确答案: B
    解析: 暂无解析

  • 第13题:

    有如下程序:includeusing namespace std;class TestClass{static int i;public:TestC

    有如下程序: #include<iostream> using namespace std; class TestClass{ static int i; public: TestClass(){i++;} ~TestClass(){i--;} static int getVal(){return i;} }; int TestClass::i=0; void f(){TestClass obj2;cout<<obj2.getVal();} int main(){ TestClass obj 1; f(); TestClass *obj3=new TestClass;cout<<obj3->getVal(); delete obj3;cout<<TestClass::getVal(); return 0; } 程序的输出结果是( )。

    A.232

    B.221

    C.222

    D.231


    正确答案:B
    解析:有如下程序:  #includeiostream>  using namespace std;  class TestClass{    static int i;  public:    TestClass(){i++;}    ~TestClass(){i--;}    static int getVal(){return i;}  };  int TestClass::i=0;  void f(){TestClass obj2;coutobj2.getVal();}  int main(){    TestClass obj 1;    f();    TestClass *obj3=new TestClass;coutobj3->getVal();    delete obj3;coutTestClass::getVal();    return 0;  }  程序的输出结果是(  )。  

  • 第14题:

    有如下程序:includeusing namespace std;class TestClass{private;char c;public;Tes

    有如下程序: #include<iostream> using namespace std; class TestClass { private; char c; public; TestClass (char n):c(n){} ~TestClass () { cout<<c; } }; class TestClass1:public TestClass { Private: char c; public: TestClass1(char n):TestClass (n+1),c(n){} ~TestClass1() { cout<<c; } }; int main() { TestClass1 obj('x'); return 0; } 执行上面的程序输出( )。

    A.xy

    B.yx

    C.x

    D.y


    正确答案:A
    解析:题目中程序TestClass为基类,TestClass1为派生类。在主函数中定义TestClass1对象obj('x'),“TestClass1(charn):TestClass(n+1),c(n){}”,所以先输出x,然后调用基类构造函数,'x'+1='y',所以输出y,即答案为xy。

  • 第15题:

    有如下程序:includeusing namespace std;class TestClass1{public:TestClass1 (){cou

    有如下程序: #include<iostream> using namespace std; class TestClass1 { public: TestClass1 (){cout<<"TestClass1";} ~TestClass1 (){cout<<"~TestClass1";} }; class TestClass2:public TestClass1 { TestClass1 *p; public: Testclass2(){cout<<"TestClass2";p=new TestClass1();} ~TestClass2(){cout<<"~TestClass2";delete p;} ); int main() { TestClass2 obj; return 0; } 执行这个程序的输出结果是( )。

    A.TestClass2TestClass1TestClass1~TestClass1~TestClass2~TestClass1

    B.TestClass1TestClass2TestClass1~TestClass2~TestClass1~TestClass1

    C.TestClass2TestClass1TestClass1~TestClass2~TestClass1~TestClass1

    D.TestClass1TestClass2TestClas1~TestClass1~TestClass2~TestClass1


    正确答案:B
    解析:派生类中构造函数的执行顺序是:先调用基类构造函数,对基类数据成员初始化,然后调用子对象构造函数,对子对象数据成员初始化;最后执行派生类构造函数本身,对派生类数据成员初始化。由主函数main入手,首先定义了一个TestClass2对象obj。其中TestClass2公共继承TestClass1,对象obj可以访问TestClass1中的公有成员函数。TestClass2中定义了一个TestClass1的指针p,给p分配新空间,即指向类TestClass1,输出“TestClass1”。在TestClass2的构造函数中首先输出“TestClass2”,并在TestClass1构造函数中输出“TestClass1”。TestClass2析构函数中输出“~TestClass2”,删除指针p,输出“~TestClass1”。析构TestClass1输出“~TestClass1”。

  • 第16题:

    在声明派生类时,如果不显示地给出继承方式,缺省的类继承方式是私有继承private。已知有如下类定义: class TestClass{ protected: void fun(){} }; class TestClass1:TestClass{}; 则TestClass类中的成员函数fun(),TestClass1类中的访问权限是( )。

    A.public

    B.private

    C.protected

    D.virtual


    正确答案:B

  • 第17题:

    若有以下程序: include using namespace std; class TestClass 1 { public: TestClass

    若有以下程序:

    include<iostream>

    using namespace std;

    class TestClass 1

    {

    public:

    TestClass1()

    {

    X=0;

    }

    int x;

    };

    class TestClass2:virtual public TestClass1

    {

    public:

    TestClass2()

    {

    x=10;

    }

    };

    class TestClass3:virtual public TestClass 1

    {

    public:

    TestClass3()

    {

    x=20;

    }

    };

    class TestClass4:public TestClass2, protected TestClass3

    { };

    int main()

    {

    TestClass4 obj;

    cout<<obj.x<<end1;

    return 0:

    }

    该程序运行后的输出结果是______。


    正确答案:20
    20

  • 第18题:

    若有如下程序:includeusing namespace std;class TestClass{public:void who() {cout

    若有如下程序: #include<iostream> using namespace std; class TestClass { public: void who() {cout<<"TestClass"<<endl;} }; class TestClass1:public TestClass { public: void who(){cout<<"TestClass1"<<endl;} }; int main() { TestClass *p; TcstClass1 obj1; p=&obj1; p->who(); return 0; } 则该程序运行后的输出结果是( )。

    A.TestClass1

    B.TestClass

    C.0

    D.无输出


    正确答案:A
    解析:程序中的TestClas1为TestClass的派生类,主函数main中定义TestClass对象*p,TestClass1对象obj1,然后p引用obj1,执行p->who()则是调用基类中的who函数,输出TcstClass。

  • 第19题:

    下面的类定义中,如果要为其添加一个析构函数,对于析构函数定义正确的是( )。 class TlestClass { private: int a: public: TestClass(int giva_a=0) {a=give_a;} }

    A.~void TestClass (){}

    B.~TestClass void(){}

    C.void~TestClass(){}

    D.~TestClass(){}


    正确答案:D

  • 第20题:

    TestClass类定义如下: class TestClass { private: intid; char gender; char*phone; public: TestClass ():id(0),gender('#'),phone(NULL){) TestClass(int no,char ge='#',char *ph=NULL) {id=no;gender=ge;phone=ph;} }; 下面类对象定义语句中错误的是( )。

    A.TestClass myObj(i);

    B.TestClass myObj(2,"11101111155");

    C.TestClass myObj(1,'m');

    D.TestClass myObj;


    正确答案:B
    解析:B) 中由于有两个参数,所以其调用了第二个构造函数,第二个构造函数的两个缺省参数,在调用时,实参会按从左到右的顺序传给形参,所以第二个参数“11101111155”会传递给形参ge,而原型中的ge为字符型,实参为指向字符的指针,所以在编译时会出现错误。A) 与C) 都能够正确的实现参数的传递。对于D) ,由于在创建TestClass的实例myObji时,没有参数,所以其调用了第一个构造函数。

  • 第21题:

    C#中TestClass为一自定义类,其中有以下属性定义: publicvoidProperty{…}开卷考 使用以下语句创建了该类的对象,并使变量obj引用该对象: TestClassobj=newTestClass(); 那么,可通过什么方式访问类TestClass的Property属性?()

    • A、Obj,Property
    • B、MyClass.Property
    • C、obj::Property
    • D、obj.Property()

    正确答案:A

  • 第22题:

    C#中TestClass为一自定义类,其中有以下属性定义 publicvoidProperty{…} 使用以下语句创建了该类的对象,并使变量obj引用该对象: TestClassobj=newTestClass(); 那么,可通过什么方式访问类TestClass的Property属性?()

    • A、Obj,Property;
    • B、MyClass.Property;
    • C、obj::Property;
    • D、obj.Property;

    正确答案:D

  • 第23题:

    单选题
    C#中TestClass为一自定义类,其中有以下属性定义: publicvoidProperty{…}开卷考 使用以下语句创建了该类的对象,并使变量obj引用该对象: TestClassobj=newTestClass(); 那么,可通过什么方式访问类TestClass的Property属性?()
    A

    Obj,Property

    B

    MyClass.Property

    C

    obj::Property

    D

    obj.Property()


    正确答案: B
    解析: 暂无解析

  • 第24题:

    单选题
    C#中MyClass为一自定义类,其中有以下方法定义publicvoidHello(){⋯⋯}使用以下语句创建了该类的对象,并使变量obj引用该对象:MyClassobj=newMyClass();那么,可如何访问类MyClass的Hello方法?()。
    A

    obj.Hello();

    B

    obj::Hello();

    C

    MyClass.Hello();

    D

    MyClass::Hello();


    正确答案: D
    解析: 暂无解析