最新回答 / 不吃辣的李叔叔
我看了一下你的代码,和我的代码唯一的区别就是你把类 Line的析构函数设为了虚函数virual ~Line(),你可以去了解一下析构函数写成虚函数有关的知识。
2017-12-14
已采纳回答 / WORLD_CONNECTED
coordinate::coordinate(const coordinate &coor){m_ix=coor.m_ix;m_iy=coor.m_iy;m_pcoor =new int [m_ix*m_iy];cout<<"const coordinate &coor"<<endl;}上面的m_pcoor对应的int数组是空的。只开辟了内存for (int i =0 ;i<m_iy*m_ix;i++){ m_pcoor[i]=coor.m_pcoor[i];...
2017-12-11
已采纳回答 / WORLD_CONNECTED
Coordinate *p2; 这个指针没有实例化 是空指针拓展:Coordinate *p2 = new Coordinate();//在堆上实例化,用p2指针指向这个内存Coordinate p3();//在栈上实例化,得到p3对象Coordinate *p4 = &p3;//p4指针,指向这个p3对象的内存拓展2:使用对象用 .使用指针用 ->p2->m_iYp3.m_iYp4->m_iY
2017-12-11
已采纳回答 / 慕神9155797
第一个问题可能是因为没有默认构造函数吧(只是猜测,建议试一试传入参数可不可以)coor3实例在堆中,coor4实例在栈中,coor5只是赋了指针的值,并不是拷贝构造
2017-12-11
已采纳回答 / 笔墨遥仙
数组当中每一个元素,不管是什么类型都是对象。你传递进去一个1,2,这算什么?最多只能算是一个int类型的数据并且也根本调用不了Cooordinate这个类的构造方法所以,你需要在数组元素当中 = { Coordinate(1,2)}这才是一个对象的元素
2017-12-10
已采纳回答 / 路卍飞
实例化Line对象时,先实例化Coordinate对象点A和点B,实例化点A和点B时,会自动调用构造函数,程序中如果只有构造函数Coordinate(int x,int y)时,调用时必须传递参数,否则会报错。但如果加上默认构造函数Coordinate()时,没有参数传递时就会调用Coordinate()这个函数,就不会报错了。
2017-12-09
已采纳回答 / 与其联想不如华为
当在不同的对象中采用this指针,就已经是在给它赋值了。对象各自的this指针指向各自对象的首地址,所以不同对象的this指针一定指向不同的内存地址。
2017-11-07
最新回答 / _不顾
调用的的时候,你得把参数传进去啊,但是好像没法用数组,只能分两次(当然也可能有办法用数组只是我太菜了没有研究明白怎么用(但是有参的构造函数得传参数,你这个很明显没有传<...code...>
2017-11-02