标题:求助,高手看一下我的程序那里错了!!!
取消只看楼主
zhiyajun11
Rank: 1
等 级:新手上路
帖 子:17
专家分:1
注 册:2010-12-22
结帖率:88.89%
已结贴  问题点数:20 回复次数:2 
求助,高手看一下我的程序那里错了!!!
本人用的是vs2010,下面是代码:
#include <iostream>
#include <string.h>
using namespace std;
class CDemo
{
public:
    CDemo(char *s)
    {
        ps=new char(strlen(s)+1);
        strcpy(ps,s);
    }
    ~CDemo()
    {
        if(ps) delete[] ps;
    }
    void print()
    {
        cout<<ps<<endl;
    }
    CDemo& operator =(CDemo &a)
    {
        if(ps) delete[] ps;
        if(a.ps){
            ps=new char(strlen(a.ps)+1);
            strcpy(ps,a.ps);
        }
        else ps =0;
        return *this ;
    }
private:
    char *ps;
};
void main()
{
    CDemo d1("Key"),d2("Mouse");
    d1=d2;
    d1.print();
}
没有语法错误,可以运行就显示错误。谢谢了!!!
搜索更多相关主题的帖子: include public 
2010-12-22 23:39
zhiyajun11
Rank: 1
等 级:新手上路
帖 子:17
专家分:1
注 册:2010-12-22
得分:0 
回复 5楼 yuccn
呵呵呵,谢谢啦,那个new char后面跟小括号和跟中括号有什么区别吗,这个问题我还是不太懂。。。希望解释一下,谢谢了!

2010-12-23 13:07
zhiyajun11
Rank: 1
等 级:新手上路
帖 子:17
专家分:1
注 册:2010-12-22
得分:0 
回复 7楼 yuccn
恩,简单明了,原来是这样,呵呵,谢谢啦!!!
2010-12-23 22:24



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




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

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