[问题] 想问程式码class内用法的问题

楼主: pin85315 (SickCat)   2018-01-13 00:59:07
首先网址在这边,我不太确定这算不算伸手文
第一次来发文有点怕怕的
https://tinyurl.com/y75koa32
这个程式在DEV C++上是可以跑的
简单来说就是使用者输入1~6,程式会帮你加字减字
然后再印出
输入1、2这两个完全没问题,纯粹是ASCII的问题
但是从problem3~problem6就看不太懂了...
想问几个很基本的问题,还请大大们帮忙
"全部都以problem3为例子"
1.在cout上面的那几行
他所谓的gStrInput1->Iowa();意思应该是用gStrInput1去呼叫Iowa吧
也就是把值带入Iowa函式内对吧?
但是他为什么要做这么多次?
同样是gStrInput1的有->Iowa()跟->NewYork(gStrInput2->Iowa())
这样写是为了什么目的?
2.gStrInput1->NewYork(gStrInput2->Iowa())这行我看不懂....
是要把gStrInput2->Iowa()得出来的结果再带回NewYork吗?
3.这题答案印出来是 'T' 'h' "at" 'i' 's' "the"
我想问的是为什么第一个字符跟第二个字符同样都是cout一样的东西
印出来却是不同的结果?
第四个字符跟第五个字符也是,cout一样的东西却是不同结果
是跟cout上面那几排(gStrInput1->Iowa())有关系吗?
还是跟前面的副程式有关系?
4.我现在大概知道,California是把一段字串缩减成1个字符
那为什么第一个字符是'T',是怎么看的?
因为他的currentPos是在1吗? 那为什么第二个字符又是h呢?
希望大大能大概跟我说一下答案是怎么来的....
以上应该都是蛮基本的问题,不过小弟接触C++没多久
希望有大大能帮忙解惑一下,在此先感谢了
作者: steve1012 (steve)   2018-01-13 14:09:00
这感觉应该是什么作业吧 感觉是要你熟悉functions被呼叫的流程 我只有看一下你的第三题 原因是因为California 把里面的mCurrentPos 移动了 (line 181, mCurrentPos++) 然后他每次回传都是移动前的位置 所以两次呼叫回传的东西不一样
楼主: pin85315 (SickCat)   2018-01-14 01:01:00
谢谢! 目前问题大致上已解决了

Links booklink

Contact Us: admin [ a t ] ucptt.com