标题:新手求指导! 对经这构造函数后的值有疑问 求高手帮下忙
只看楼主
woman553
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2014-3-8
 问题点数:0 回复次数:0 
新手求指导! 对经这构造函数后的值有疑问 求高手帮下忙
我把程序要用到的代码先贴在下边
class CMessage
{
public:
    char *msg;
    CMessage::CMessage(char *s);
    bool operator >(CMessage&m);
};
CMessage::CMessage(char *s)
   {      
        printf("构 造this=%x\n",this);
    //分配空间
    msg=new char[256];
    //实现复制功能
    strcpy_s(msg,256,s);
   }
bool CMessage::operator >(CMessage &m)
{  bool r;//比较结果
   r=strlen(msg)>strlen(m.msg);//strcmp TRUE 1 FALSE 0
   return r;
}

int _tmain(int argc, _TCHAR* argv[])
{
    CMessage s1("123aaaaaa");
    CMessage s2("ab");
        if (s1>s2)
    {
        printf("s1大于s2");
    }
       else
       {  
        printf("s1小于s2");
       }
    getchar();
    return 0;
}
 问题1: 调试时发现,断在 if (s1>s2)  发现 s1="123aaaaaa"  s2="ab"   不知道经过那个构造函数后,msg="123aaaaaa"   s2="ab" 不知道他们是如
         何传值给 s1 与s2的,
 问题2:  引符号重载之后,s1 与s2 是如何给  bool CMessage::operator >(CMessage &m)  的参数传值的


麻烦前辈们帮我解答一下好吗,学了些日子,碰到这问题 搞了二天没结果 快对学这个没信心了,麻烦大家帮下哦,谢谢
搜索更多相关主题的帖子: public return 空间 
2014-03-26 12:50



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




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

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