永发信息网

c++的类的问题

答案:2  悬赏:20  手机版
解决时间 2021-07-25 15:51

#include <iostream.h>
class A
{
public:
int r;
void setdata(int a,int b)
{
t=a;
t=b;
}
int t;
};
void main()
{
A x={100,200};


cout<<x.r<<endl<<x.t;

}

请问在

void setdata(int a,int b)
{
t=a;
t=b;
}

1:t是在setdata下面的定义,为什么编译器没有报错????

2:还有在A x={100,200}; 如果没有直接初始化而是A x; x={100,200};这样为什么就错了??和结构体是一样的吗

最佳答案

第一个 那个 放在那里 都是 没关系的


第二个A x={100,200}; 你 创建对象的时候赋值 那样是 调用构造函数的 但是 你 类里面没有写构造函数 那样 系统 默认的是 无参的 构造函数 但是 你调用的是 有连个参数的 构造函数 那样 但让 会错的 解决 就是 你 再类里面写一个 带两个参数的 构造函数就好了

全部回答

因为在内存中不会为该类分配保存空间的,而且它的顺序是没什么关系的!!以前的定义都是成员变量的写在最后面的 !!!

(2) A x;这产生一个对象,同时也会调用该类的构造函数!而你没有写而你没有构造函数,所以系统会自带一个{}的构造函数!,所以执行A a d 时候,同时也在内存中开辟的一块内存!

x={100,200};编译不认识这种方式的。

x.t

or x.r 应该这样!

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
杰伦有孩子吗?
男生生日送什么礼物好?18岁的高中生
十八岁的女孩应该用什么牌子祛小斑点?
技嘉 GA-EP43-UD3L现在杭州多少钱
腾讯tt主页被修改
他做包皮手术第6天,晚上给我发短信说想要了
请问旋舞里的那个VOS怎么完的啊
帮下忙阿。。
开始用超级QQ普通版,如果关了开超级QQ高级版
?现在三星e251c在日照的行货多少钱
形容人正直诚实的句子,形容正直品格的四字成
狂战士穿聚冥护肩好吗
“白色”一词的韩语翻译
怎样才叫180IQ?
召唤怎么一次招出3个小雷?
推荐资讯
梦幻西游中小猪上楼梯怎么弄
这板子能带上NV9600或9800GT显卡么?
高宝真电脑音箱
VT和XP个人用哪个要好点?
在淘宝实名认证过了接下来我要什么做??
血常规部分指标不正常的原因
描写北方唯美句子,形容南方北方冬天温差的句
50到80平方呢中档装修酒吧成本是多少?
cad查看整体布局
怎么NBA2008 投球老是不进的??
企事业单位10年元旦贺卡贺词(正式的)!有好
关于这张图片的所有QQ表情
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?