-
class Array { public: Array(){m_iCount=5;m_pArr=new int[m_iCount];} Array(const Array& arr) { m_iCount=arr.m_iCount; m_pArr=arrm_pArr; } private: int m_iCount; int *m_pArr; }; int main(void) { Array arr1; Array arr2=arr1; return 0; }//浅拷贝 class Array { public: Array(){m_iCount=5;m_pArr=new int[m_iCount];} Array(const Array& arr) { m_iCount=arr.m_iCount; m_pArr=new int[m_iCount]; for(int i=0;i<m_iCount;i++) { m_pArr[i]=arrm_pArr[i]; } } private: int m_iCount; int *m_pArr; }; //深拷贝查看全部
-
如果坐标类有一个默认的构造函数(不带参数的构造函数) 那么在实例化线段对象时可以不使用初始化列表 如果坐标类要求必须有坐标传入 在实例化线段时必须使用初始化列表的方式将相应的值传递给坐标类查看全部
-
Coordinate(int x,int y); Coordinate::Coordinate(int x,int y) { m_iX=x; m_iY=y; cout<<"Coordinate()"<<m_iX<<","<<m_iY<<endl; } Line(int x1,int y1,int x2,int y2); Line::Line(int x1,int y1,int x2,int y2):m_coorA(x1,y1),m_coorB(x2,y2) { cout<<"Line()"<<endl; } #include<iostream> #include<stdlib.h> #include"Line.h" using namespace std; int main(void) { Line *p=new Line(1,2,3,4); p->printInfo (); delete p; p=NULL; return 0; }查看全部
-
class Coordinate { public: Coordinate(); ~Coordinate(); void setX(int x); int getX(); void setY(int y); int getY(); public: int m_iX; int m_iY; }; #include<iostream> #include"Coordinate.h" using namespace std; Coordinate::Coordinate(){} Coordinate::~Coordinate(){} void Coordinate::setX(int x) { m_iX=x; } int Coordinate::getX() { return m_iX; } void Coordinate::setY(int y) { m_iY=y; } int Coordinate::getY() { return m_iY; } #include"Coordinate.h" class Line { public: Line(); ~Line(); void setA(int x,int y); void setB(int x,int y); void printInfo(); private: Coordinate m_coorA; Coordinate m_coorB; }; #include<iostream> #include"Line.h" using namespace std; Line::Line(){} Line::~Line(){} void Line:: setA(int x,int y) { m_coorA.setX(x); m_coorA.setY(y); } void Line::setB(int x,int y) { m_coorB.setX(x); m_coorB.setY(y); } void Line::printInfo() { cout<< "("<<m_coorA.getX()<< "," <<m_coorA.getY()<<")"<<endl; 同理B }查看全部
-
class Coordinate { public: int m_iX; int m_iY; }; Coordinate coord[3]; coord[1].m_iX=10; Coordinate *p=new Coordinate[3]; p[0].m_iY=20; p->m_iY=20; delete []p; p=NULL;查看全部
-
此时不能直接用delete []p;来释放内存,要加p++让它指回循环之前的位置 for(int j=0;j<3;j++) { cout<<"p_x"<<p->m_iX<<endl; cout<<"p_y"<<p->m_iY <<endl; p--; } p++; delete []p; p=NULL;查看全部
-
深拷贝首先需要申请一段内存查看全部
-
动画控制代码查看全部
-
常对象只能调用常成员函数,不能调用普通成员函数;一个对象能够有多个对象常引用。查看全部
-
函数后面的括号一定不要忘查看全部
-
this指针用法查看全部
-
动画控制查看全部
-
迷宫类查看全部
-
对象指针的初始化,指针一定要要指向某一个对象才能操作,才有意义查看全部
-
常成员函数 内部定义数据成员查看全部
举报
0/150
提交
取消