首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

类的数据成员能否赋默认值?解决思路

2012-03-19 
类的数据成员能否赋默认值?我编了一段C++程序,在类里包含了数组数据成员,并给它赋了默认值,运行时出错,不

类的数据成员能否赋默认值?
我编了一段C++程序,在类里包含了数组数据成员,并给它赋了默认值,运行时出错,不知何故,请高人解答.
我的相关代码如下:
“Myapp.h”

class   MYAPP   {

                double   dMyData   [2];
public:
                MYAPP();
                MYAPP(double   dt[2]={0.0,0.0});
                MYAPP(const   MYAPP   &);
                ~MYAPP();
              double   Length();  

  };

“Myapp.cpp”

#include   "Myapp.h "
#include   <math.h>

MYAPP::   MYAPP()
{
          //Overloaded   constructor
}

MYAPP   ::     MYAPP   (double   dt[2])
{
          dMyData=dt;
}


MYAPP   ::   MYAPP(const   MYAPP   &   ap)
{
dMyData   =   ap.dMyData;
}

MYAPP   ::   ~   MYAPP()
{
//deconstrucotor
}

double   MYAPP   ::   Length()
{
return   sqrt(dMyData[0]*dMyData[0]+dMyData[1]*dMyData[1]);
}

“Mainprog.cpp”
#include”Myapp.h”

MYAPP     g_cAppArray[10];
//在CMainprogApp::CMainprogApp()里加入以下语句
MYAPP*   temp   =   new   MYAPP;
for   (int   i=0;i <10;i++)
{
temp.MyData   =   {i,i};
                        g_cAppArray[i]=temp;
std::cout < <g_cAppArray[i].Length < <std::endl;
}
delete   temp;

谢谢解答

[解决办法]
要用赋值或内存拷贝

MYAPP :: MYAPP (double dt[2])
{
dMyData[0]=dt[0];
dMyData[1]=dt[1];
}


MYAPP :: MYAPP(const MYAPP & ap)
{
dMyData[0] = ap.dMyData[0];
dMyData[1] = ap.dMyData[1];
}

热点排行