做了一套C++的题,有下面这几道题不懂。请c++达人指教:
1.若有chara[3]={‘A’,‘\0','D'},*p=a,i=2,j=4;则下列表达式不是1的有(C)A.strlen(a)B.j&&jC.*(p+1)D--i(...
1.若有char a[3]={‘A’,‘\0','D'},*p=a,i=2,j=4;则下列表达式不是1的有(C)
A.strlen(a) B.j&&j C.*(p+1) D--i
(PS:整型占2个字节)
2.假定AB为一个类,则执行“AB a(4),b[3],*p[2];"语句时,自动调用该类构造函数的次数是(B)
A 3 B 4 C 6 D 9
3.对于结构中定义的成员,其隐含访问权限为(public)
这个题很经典,但是我一直不懂这句话的意思,请高手解释一下。 展开
A.strlen(a) B.j&&j C.*(p+1) D--i
(PS:整型占2个字节)
2.假定AB为一个类,则执行“AB a(4),b[3],*p[2];"语句时,自动调用该类构造函数的次数是(B)
A 3 B 4 C 6 D 9
3.对于结构中定义的成员,其隐含访问权限为(public)
这个题很经典,但是我一直不懂这句话的意思,请高手解释一下。 展开
4个回答
展开全部
1. strlen这个函数遇到'\0'就返回 在'\0'前有一个A所以返回1 排除 &&运算符返回1或者0,当两者都为非0返回1,否则返回0, 排除 ,i==2 执行--i自然为1 所以答案为c 因为p目测是指向数组的指针,(p+1)操作是表示指针指向下一个单元及时指向了‘\0’的单元,在用*(p+1)取值自然得到的不是1
2.当然这个题可能有歧义,前提应该是迹桥这个类包含默认的构造函数和接收一个参数的构造函数,构造函数的调用是当类需要创建对象的时候,这里 创建对象a的时候以及创建类的数组的时候都需要创建对象,而创建类指针则不用创建对象 所以构造函数调用4次
3.就是说在c++中结构体其实也是被当做类的,与类不同的是里面的成员默认访问权限为public,(锋弯类的默认访问权限是private,除非你用private标记)
还有不明姿基猛白么
2.当然这个题可能有歧义,前提应该是迹桥这个类包含默认的构造函数和接收一个参数的构造函数,构造函数的调用是当类需要创建对象的时候,这里 创建对象a的时候以及创建类的数组的时候都需要创建对象,而创建类指针则不用创建对象 所以构造函数调用4次
3.就是说在c++中结构体其实也是被当做类的,与类不同的是里面的成员默认访问权限为public,(锋弯类的默认访问权限是private,除非你用private标记)
还有不明姿基猛白么
展开全部
例如:
struct A
{
int a;
char b;
}
这样定义的结构体的成员变穗激量,a、b外界都是可以直接访问的。
再例如
struct A
{
public:
int a;
private:
char b;
}
这样定义的结燃碧构体中,a是公共的,b 是私有的外界无猜段袜法直接访问。
也就是定义结构
struct A
{
int a;
char b;
}
隐含了
struct A
{
public:
int a;
char b;
}
struct A
{
int a;
char b;
}
这样定义的结构体的成员变穗激量,a、b外界都是可以直接访问的。
再例如
struct A
{
public:
int a;
private:
char b;
}
这样定义的结燃碧构体中,a是公共的,b 是私有的外界无猜段袜法直接访问。
也就是定义结构
struct A
{
int a;
char b;
}
隐含了
struct A
{
public:
int a;
char b;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一个,C:p指向a,也是a[0],p+1,就是a[2],是\0,ascii是0;A:strlen函数桥手在遇滚氏到\0时结大消散束判断,故只算了1个;B &&(与),0和任何值与,结果是0,非0与非0,结果为1.
隐含访问权限默认应该是protected啊,咋会是public呢。第2个不是很明白意思
隐含访问权限默认应该是protected啊,咋会是public呢。第2个不是很明白意思
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一题,用排除法,A:“\0”为字卜乎橡符串顷袜结束标志,所以a的长度为1。B:任何数与自身型旁相与为真,即为1。D:i=2,--后自然为1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询