课程
/后端开发
/C++
/C++远征之封装篇(下)
类中定义了一个有参数但无默认值的构造函数,主函数中在堆中实例化数组时该怎么办?
2017-02-10
源自:C++远征之封装篇(下) 2-9
正在回答
int main()
{
coordinate *p=new coordinate(3);//此时P指向数组的第一个元素
p->m_ix=1;//对每个元素进行初始化,目前我觉得此类初始化很麻烦,但是别的方法,我还不知道怎么写
p->m_iy=2;
p[1].m_ix=3;
p[1].m_iy=4;
p[2].m_ix=5;
p[2].m_iy=6;
for (int i=0;i<3;i++ )
cout<<p[i].m_ix<<","<<p[i].m_iy<<endl;
}
delete []p;//释放内存
p=NULL;
return 0;
如果是含参数但无默认值的构造函数,定义时必须赋初值。
你可以这样定义
Coordinate *p = new Coordinate (1,2,3,4,5,6);
ERIN7
举报
封装--面向对象三大特征之一,通过案例让C++所学知识融会贯通