c++题目,这道题为什么选b?

 我来答
wuiiao333
2015-09-17 · TA获得超过799个赞
知道小有建树答主
回答量:666
采纳率:0%
帮助的人:206万
展开全部
A:一般类的默认构造函数(无参)会自动生成,但是如果你定义了有参数的构造函数,那么就不会自动生成默认构造函数,需要你自己在定义一个默认的构造函数。而A选项定义了没有参数的类对象,所以调用默认构造函数,但是类却没有定义默认构造函数,所以错误。
B: 是定义对象的指针,并没有创建对象,所以没有调用类的构造函数。不会出错
C:data是在类的private部分,也就是说,data只能通过类方法来访问,不能通过类对象直接访问。所以错误
D:MyClass是类名,不是类对象。所以其要想表示类的方法则需要解析符号
MyClass::show(); //类名调用
或者
MyClass x(3); //类对象调用
x.show();
有你的晴天12138
2015-09-17 · TA获得超过1001个赞
知道小有建树答主
回答量:305
采纳率:80%
帮助的人:210万
展开全部
1) MyClass类的构造函数需要接受一个整形参数,故A答案不正确,正确的为:MyClass mfirst(10);
2) 定义一个类的指针变量,语法正确;
3) 成员变量的使用必须先定义对象,所以应先定义对象,再用对象名.成员名进行访问;若成员变量为静态成员,是可以使用MyClass::data=6进行赋值的,在访问时还需遵守访问权限的约定;
4) 与上面相同;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zjnny
2015-09-17 · TA获得超过2037个赞
知道小有建树答主
回答量:1055
采纳率:100%
帮助的人:1062万
展开全部
A,类没有默认构造函数,无法构造,正确使用的例子:MyClass mfirst(0);
C,data是私有成员,并且非静态成员,必须用MyClass构造一个实体,用实体才能对对象的数据成员赋值,正确使用的例子:MyClass mfirst(0);因为是私有所以无法对data赋值
D,show非静态函数,必须定义一个类对象才能调用 正确使用的例子:MyClass mfirst(0); mfirst.show();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cqdjyy01234
2015-09-17 · TA获得超过1147个赞
知道小有建树答主
回答量:267
采纳率:50%
帮助的人:305万
展开全部
A:没有可用的无参构造函数。
C:data为private成员,不能在类外非友元函数中使用。
D:MyClass为类名,不能调用非静态成员函数。调用静态函数应该使用"::"而不是"."。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
NA5KAR
2015-09-17
知道答主
回答量:3
采纳率:0%
帮助的人:3543
展开全部
因为 不能直接使用 类中项 ,所以用 B 中的指针来引用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式