VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

有编程疑问吗?还请到提问专区发帖提问!
搜索
查看: 2973|回复: 4

关于38课的作业疑问

[复制链接]
32_avatar_middle
在线会员 Viming 发表于 2018-11-13 21:29:26 | 显示全部楼层 |阅读模式
我的方案如下:

  1.        
  2.         bool operator==(const CStudent& stud){
  3.         return (this->age == stud.age && this->num == stud.num && this->sex == stud.sex && this->p_name == stud.p_name);
  4. };
  5.         bool operator!=(const CStudent& stud){
  6.         return !(*this == stud);
  7. };
复制代码


测试:
  1.         CStudent Zhangsan = { "Zhangsan",'F',1001,20 };
  2.         CStudent Lisi = { "Zhangsan",'F',1001,20 };

  3.         cout << "Lisi == Zhangsan ? " << (Lisi == Zhangsan) << endl;
复制代码


输出结果:
  1. Lisi == Zhangsan ? 0
复制代码


我知道问题可能出现在如下代码中:
  1. this->p_name == stud.p_name
复制代码

这里似乎比较的不是指针指向的值而是指针的地址,因此返回的是false(0);但我不知道怎么修改。还请大神们指点迷津,感谢!




上一篇:请教一下大神
下一篇:求助 c++新手 继承类问题

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

51_avatar_middle
online_admins Syc 发表于 2018-11-13 22:34:51 | 显示全部楼层
strcmp 干嘛的?不就是比较两个字符串数组么,用他就可以了

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

32_avatar_middle
ico_lz  楼主| Viming 发表于 2018-11-13 22:42:53 | 显示全部楼层
Syc 发表于 2018-11-13 22:34
strcmp 干嘛的?不就是比较两个字符串数组么,用他就可以了

似乎还是不行。测试
  1. cout << "strcmp(this->p_name,stud.p_name): " << strcmp(this->p_name, stud.p_name) << endl;
复制代码

发现结果为0;

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

51_avatar_middle
online_admins Syc 发表于 2018-11-13 22:50:08 | 显示全部楼层
Viming 发表于 2018-11-13 22:42
似乎还是不行。测试

发现结果为0;

strcmp 返回 0 表示两个字符串相等,返回非0表示两个字符串不等

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

32_avatar_middle
ico_lz  楼主| Viming 发表于 2018-11-14 13:00:12 | 显示全部楼层
Syc 发表于 2018-11-13 22:50
strcmp 返回 0 表示两个字符串相等,返回非0表示两个字符串不等

感谢!之前没仔细看。

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2018-12-14 00:54

Powered by Discuz! X3.4

© 2009-2018 cctry.com

快速回复 返回顶部 返回列表