对于语句NSString*obj = [[NSData alloc] init]; obj在编译时和运行时分别时什么类型的对象?
第1题:
若有如下类定义: class B { void fun1() { protected: double var1; public: void fun2() { }, class D: public B protected: void fun3() { };已知obj是类D的对象,下列语句中不违反类成员访问控制权限的是
A.obj.fun1();
B.obj.varl;
C.obj.fun2();
D.obj.fun3();
第2题:
A.语句obj2(obj1);的功能是用对象obj2初始化具有相同类类型的对象obj1
B.语句obj2(obj1);的功能是用对象obj1初始化具有相同类类型的对象obj2
C.X(X&x)函数中不能访问对象的私有成员
D.X(X&x)中的&符号可以删除
第3题:
如果程序里有叫obj1和obj2的对象,当使用语句“obj2=obj1;”时的结果是( )。
A.在obj2中的实例变量被赋予obj1中相同的值
B.obj2和obj1被认为是同一个变量
C.obj2的值赋给了obj1,而obj2为空
D.以上都不对
第4题:
有如下类定义: classB{ public:voidfunl(){} privace:voidfun2(){} protected:voidfun3(){} }; classD:publicB{ protected:voidfun4(){} }; 若obj是类D的对象,则下列语句中不违反访问控制权限的是( )。
A.obj.fun1();
B.obj.fun2();
C.obj.fun3();
D.obj.fun4();
第5题:
友元运算符obj1>obj2被C++编译器解释为( )。
A.operator>(obj1,obj2)
B.>(obj1,obj2)
C.obj2.operator>(obj1)
D.obj1.operator>(obj2)
第6题:
main函数中发生编译错误的语句是______。
include<iostream.h>
class A
{
public:
int a;
const int b;
A( ):a(10),b(20){}
void fun( )const
{
cout<<"a="<<a<<"\tb="<<b<<endl;
}
};
void main( )
{
A obj1;
const A*ptr=new A;
ptr=&obj1;
ptr->a=100;
ptr->fun( );
}
第7题:
若有如下类定义: class B{ void fun1( ){} private: double varl; public: void fun2( ){ } }; class D:public B{ private: void fun3( ){ } }; 已知obj是类D的对象,下列语句中不违反类成员访问控制权限的是
A.obj.fun1( );
B.obj.varl;
C.obj.fun2( );
D.obj.fun3( );
第8题:
有如下程序: #include<iostream> using namespace std; class A{ public: static int a; void init(){a=1;} A(int a=2){init(); a++;} }; int A::a=0; A obj; int main() { cout<<obj.a; return 0; 运行时输出的结果是( )。
A.0
B.1
C.2
D.3
第9题:
有如下类定义: class B { public:void funl{} private:void fun2{} protected:void fun3{} }; class D:public B j protected:void fun4{} }; 若obj是类D的对象,则下列语句中不违反访问控制权限的是( )。
A.obj.fun1;
B.obj.fun2;
C.obj.tim3;
D.ohj.fun4;
第10题:
当对象obj调用其类成员函数init()时,init()的this指向的是( )。
A.对象obj
B.init()
C.类本身
D.其他的对象