| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 603 人关注过本帖
标题:=号重载问题
只看楼主 加入收藏
绝对菜鸟哦
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2010-6-18
结帖率:0
收藏
已结贴  问题点数:20 回复次数:7 
=号重载问题
#include"iostream.h"
#include<string.h>
class String
{
public:
 String(char *p1)
{
  p=new char[strlen(p1)+1];
  strcpy(p,p1);
}
 ~String()
 {delete p;}
 void operator=(String obx)
{
 strcpy(p,obx.p);
 

}
 char show()
 {cout<<p; return 0;}
private:
 char *p;
};
void main()
{
 String ob1("abc");
 String ob2("def");
 ob1=ob2;
 cout<<ob1.show();

}

搜索更多相关主题的帖子: 重载 
2010-06-18 22:14
绝对菜鸟哦
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2010-6-18
收藏
得分:0 
运行时出错,编译连接没问题。。。  求高手从根本上告诉我原因。
2010-06-18 22:14
绝对菜鸟哦
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2010-6-18
收藏
得分:0 
对了 忘了说明是字符串拷贝的功能
2010-06-18 22:27
冰点小爱
Rank: 2
来 自:吉林长春
等 级:论坛游民
帖 子:39
专家分:49
注 册:2010-3-2
收藏
得分:7 
程序代码:
#include"iostream.h"
#include<string.h>
class String
{
public:
    String(char *p1)
    {
  p=new char[strlen((p1)+1)];//这里多加一对括号
  strcpy(p,p1);
    }
    /*~String()
    {
        delete p;
    }*/
    void operator=(String obx)
    {
    strcpy(p,obx.p);


    }
    char show()
    {
        cout<<p;
        return 0;
    }
    private:
        char *p;
    };
void main()
    {
        String ob1("abc");
        String ob2("def");
        ob1=ob2;
        cout<<ob1.show();

    }
那个析构函数我也不知道怎么用,你那个还没有调用就已经释放了,内存里已经没有东西了。所以运行出错。我现在就这水平了,等待高人指教吧
2010-06-18 22:46
南国利剑
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:29
帖 子:1165
专家分:3536
注 册:2010-4-12
收藏
得分:7 
回复 3楼 绝对菜鸟哦
什么功能?
说清楚。

南国利剑
2010-06-18 22:48
绝对菜鸟哦
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2010-6-18
收藏
得分:0 
=号重载  字符串拷贝的功能
2010-06-18 22:53
绝对菜鸟哦
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2010-6-18
收藏
得分:0 
我终于知道了!!!!!! 老师回我邮件了。。。 谢谢关注。。。
2010-06-18 23:09
zgxyz2008
Rank: 4
等 级:业余侠客
帖 子:67
专家分:202
注 册:2008-10-28
收藏
得分:7 
如果你没有用new来自我开辟类的话,如果调用了析构函数,那么在过程执行完毕的时候系统会再次自动调用析构函数,但是这个类的内存已经被你释放掉了,这时候就会发生内存错误,所以一般情况下,不用自己使用析构函数,只有用new运算符动态定义类的时候才要自主释放。把你的析构函数注释掉就OK...
2010-06-19 16:31
快速回复:=号重载问题
数据加载中...
 
   



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

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