616190.com鬼谷子论坛,六合采今晚开奖直播,53112马会资料,37337全年开奖结果,中码堂论坛2244a,228444.com,www.741111.com
您现在的位置:主页 > www.741111.com >

组合类拷贝构造函数的调用

发布日期:2019-08-15 10:19   来源:未知   阅读:

  我要问一下在什么地方生成什么对象时调用的它们?这这样回答我:(谢谢!)比如,在构造line对象时p1(xp1),p2(xp2)就会2次调用point拷贝构造函数被调用(对不哦?)所有的请帮我按结果顺序一一举出来好吗!

  你说的我能看明白就是找不出来啦!你能帮我按结果的顺序举出来吗?谢谢!(我想对着来思考一下并加深理解)

  我好像有点了解了,是不是前2个是因为 point myp1(1,1),myp2(2,2);分别向myp1和myp2传就像函数int get(int x,int y);在int a=4,b=5;再x=a;y=b;这样对象a。b就向x,y拷贝哦?后面2个是因为line构造line时myp1,myp2实形结合p1(xp1),p2(xp2)就调2次所以有前面4次接着就是line构造函数里面的“line的构造函数被调用”这是第5个结果,再来就是line的复制到line2,line拷贝构造函数要line的“对象p1”给line2的“对象p2”这样也是2次,然后就是line拷贝构造函数的输出语句“line拷贝构造函数被调用 ”是不是这样的哦? (在帮我看看我就结束了,希望这个问题给后面的人有帮助) lixin_shirt^_^展开我来答

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  1.当一个对象赋给另一个对象值时。例如对象a和b,语句a=b;调用拷贝构造函数。

  2.当初始化一个构造函数时。例如你的程序中point myp1(1,1);

  3.当对象作为函数的参数时。例如函数调用你的对象时 function(point myp1);

  从main函数往下看,首先是两个point类,采用2方法调用,因此先有两个point拷贝构造函数被调用。然后是line类采用2方法调用,但是line类由point类对象构成,因此调用line类拷贝构造函数前在调用两个point拷贝构造函数(因为两个point对象)之后是一个line的拷贝构造函数调用。www.644406.com


Power by DedeCms