您的位置:首页 > 编程语言 > C语言/C++

新手初学C++:带有指针型数据成员的类

2011-03-15 15:48 232 查看
作者:finallyly 出处:博客园(注意:转载请注明作者和出处)

最近打算写一个算法类,算法类中要有一个指针型数据成员,然而该指针型数据成员却不能在构造函数只能够分配堆内存(因为此时我们还不确定数组的维度),只有调用了某个函数之后,方知道动态数组维度,考虑不在类的构造函数中调用确定数组维度的那个函数做如下设想:

在类的其他其他成员函数中为该指针成员分配堆内存,析构函数中释放该数据成员。问了几个同学和网友后做如下设计:

为指针数据成员分配堆内存

void stringprocess::test()
{
indexes=new int[5];

}

主函数中测试调用:

int _tmain(int argc, _TCHAR* argv[])
{

stringprocess p;
p.test();
cout<<"finish"<<endl;
int f;
cin>>f;

}
输出结果:



如果主函数中不调用p的test函数则运行结果如下:



鉴于一般的C++入门课本仅提到“在构造函数中动态分配堆内存,在析构函数中释放”,以上内容仅供C++初学者参考之,避免造成思维固化。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: