最赞回答 / xhuanhero
你说的应该是在构造函数里面初始化成员变量构造函数:Coordinate(int x, int y):m_iX(x),m_iY(y){};注意这个构造函数是必须带参数的,要不然无法初始化成员变量
2018-01-28
最新回答 / 不吃辣的李叔叔
我看了一下你的代码,和我的代码唯一的区别就是你把类 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