标题:C++的一些问题
只看楼主
cpp爱好者
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-3-21
结帖率:0
已结贴  问题点数:20 回复次数:2 
C++的一些问题
我想问一下,如果用new运算符初始化一个对象,delete放在什么地方好呢?
搜索更多相关主题的帖子: 问题 
2012-03-21 00:17
榴紫丫
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:33
专家分:135
注 册:2011-11-3
得分:10 
//重载运算符new与delete
#include<iostream.h>
#include<malloc.h>
class Rect
{
    int length,width;
public:
    Rect(int l,int w)
    {
        length=l;width=w;
    }
    void disp()
    {
        cout<<"面积"<<length*width<<endl;
    }
    void *operator new(size_t size)//重载new运算符成员函数
    {
        cout<<"重载new运算符分配内存"<<endl;
        return malloc(size);
    }
    void operator delete(void *p)//重载delete运算符成员函数
    {
        free(p);
        cout<<"重载delete运算符释放内存"<<endl;
        
    }
};
void main()
{
    Rect *p;
    p=new Rect(5,9);
    p->disp ();
    delete p;
}
看到没,用完之后释放地
2012-03-21 15:55



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-363805-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.282864 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved