软件首页 |  文章首页
最新更新 软件分类 设为首页 加入收藏 联系我们
当前位置:首页文章首页 IT学院 IT技术

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

作者:  来源:  发布时间:2011-3-15 16:50:37  点击:

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

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

 

该类
class stringprocess
{
public:

    stringprocess(
void);
    
~stringprocess(void);
    
//int GetLongestCommonSequence(wstring x,wstring y,wstring result);
    void test();
private:
    
int *indexes;//声明指向指针的指针,保存两个字符串中的最长公共序列中的字符分别出现的位置。
    wstring xpart;//最大公共字序列的父串之一
    wstring ypart;//
    
 
};
该类的构造函数
stringprocess::stringprocess(void)
{
    indexes
=NULL;
}

 

 

 

该类的析构函数

stringprocess::~stringprocess(void)
{
    
if (indexes!=NULL)
    {
        cout
<<"指针成员变量已经被分配了堆内存,需要以delete模式释放"<<endl;    
        delete[] indexes;
        cout
<<"释放完毕"<<endl;
        
    }
    
else
    {
        cout
<<"指针成员变量为被分配堆内存,不需要以delete模式释放"<<endl;
    }
    
    cout
<<"destructor"<<endl;
}

文章评论

本类推荐文章

关于本站 | 网站帮助 | 广告合作 | 下载声明 | 友情连接 | 网站地图
Copyright © 20098-2010 uzzf下载站. All Rights Reserved .