瑞星卡卡安全论坛技术交流区系统软件 关于c++的问题 我是新手 请大家帮帮我

1   1  /  1  页   跳转

关于c++的问题 我是新手 请大家帮帮我

关于c++的问题 我是新手 请大家帮帮我

#include<iostream.h>
#include<string.h>
class cdemo{
public:
    cdemo(char*s)
    {
        ps=new char[strlen(s)+1];
        strcpy(ps,s);
    }
    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;
    }
    ~cdemo()
    {
        if(ps)delete[] ps;
    }
    void print()
    {
        cout<<ps<<endl;
    }
private:
    char *ps;
};
void main()
{
    cdemo d1("key"),d2("mouse");
    d1=d2;
    d1.print();
}
看看这一段

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;
    }
cdemo&  这个是返回什么啊  是什么意思啊
好晕哦  可以帮我解释的清楚点吗?
还有 '='的重载是不是只可以是非静态成员函数啊?


最后编辑2005-07-16 01:04:55
分享到:
gototop
 

那为什么要返回引用啊????
它的作用是什么?
gototop
 
1   1  /  1  页   跳转
页面顶部
Powered by Discuz!NT