找回密碼 或 安全提問
 註冊
|註冊|登錄

伊莉討論區

搜索
請尊重及感激所有版主付出和奉獻感激所有對伊莉作出奉獻的人尊貴會員無限使用任何功能
無修七龍珠航海王火影一拳超人3dadobe
拳皇98養包子天朝仙pred 534fategran趁不在二羽紗愛

休閒聊天興趣交流學術文化旅遊交流飲食交流家庭事務PC GAMETV GAME
熱門線上其他線上感情感性寵物交流家族門派動漫交流貼圖分享BL/GL
音樂世界影視娛樂女性頻道潮流資訊BT下載區GB下載區下載分享短片
電腦資訊數碼產品手機交流交易廣場網站事務長篇小說體育運動時事經濟
上班一族博彩娛樂

[繁]七龍珠大魔06-

[繁]海賊王 魚人島篇

[簡]重啟人生的千金小

[繁]被逐出隊伍的治癒

[繁]BLEACH 死神 千年

[繁]膽大黨05-
C & C++ 語言C# 語言Visual Basic 語言PHP 語言JAVA 語言
查看: 3805|回復: 4
打印上一主題下一主題

[問題]c++ 類別問題[複製鏈接]

帖子
6
積分
8 點
潛水值
2200 米
跳轉到指定樓層
樓主
發表於 2019-1-12 03:15 PM|只看該作者|正序瀏覽
本帖最後由 tim861121 於 2019-1-12 03:16 PM 編輯

題目是 A類別計算金錢  B類別金錢到達即可優惠折扣
該如何把A算的值用在B類別裡面
#include <iostream>
using namespace std;
class a {
private:
        int x=0;
public:
        int t = 0;
        int sum() {
                cout << "選擇完輸入-1" << endl<<"1.小白菜 :20元" << endl;
                cout << "2.高麗菜:30元" << endl;
                cout << "3.番茄:40元"<<endl;
                while (1) {
                        cin >> x;
                        if (x == -1) {
                                break;
                        }if (x == 1) {
                                t+=20;
                        }if (x == 2) {
                                t+=30;
                        }if (x == 3) {
                                t+=40;
                        }
                }
cout << "總金額:" << t << endl;
                return 0;
        }
};
class b :public a{
private:
public:
        int rebate() {
                cout << "金額超過50元打5折" << endl;
                if (t == 50) {
                        t*0.5;
                }
                return 0;
        }
};
int main() {
        a asum;
        asum.sum();
        b bsum;
        bsum.rebate();
        return 0;
}
...
瀏覽完整內容,請先 註冊登入會員
分享分享0收藏收藏0支持支持0
若新密碼無法使用,可能是數據未更新。請使用舊密碼看看。

使用道具檢舉

affkame 該用戶已被刪除
5
發表於 2019-6-5 04:36 PM|只看該作者
若對尊貴或贊助會員有任何疑問,歡迎向我們查詢。我們的即時通或MSN: admin@eyny.com
如果沒要overwrite 在a class 開一個public api把a.x的數值傳出來如何?
如果你忘記伊莉的密碼,請在登入時按右邊出現的 '找回密碼'。輸入相關資料後送出,系統就會把密碼寄到你的E-Mail。

使用道具檢舉

帖子
72
積分
0 點
潛水值
13250 米
4
發表於 2019-4-25 10:09 PM|只看該作者
繼承應該是可以直接使用才對,但private好像不行??

使用道具檢舉

帖子
76
積分
0 點
潛水值
4189 米
3
發表於 2019-3-15 12:28 PM|只看該作者
成為伊莉的版主,你將獲得更高級和無限的權限。把你感興趣的版面一步步地發展和豐盛,那種滿足感等著你來嚐嚐喔。
在A類別中建立一個屬性名稱,把算好的值放入
b類別去繼承A類別就可以用A類別的屬性了
分享使你變得更實在,可以使其他人感到快樂,分享是我們的動力。今天就來分享你的資訊、圖片或檔案吧。

使用道具檢舉

Rank: 2Rank: 2

帖子
476
積分
967 點
潛水值
33259 米
頭香
發表於 2019-1-12 11:55 PM|只看該作者
成為伊莉的版主,你將獲得更高級和無限的權限。把你感興趣的版面一步步地發展和豐盛,那種滿足感等著你來嚐嚐喔。
既然都繼承了....不是如下就可以了嗎?
  1. #include <iostream>
  2. using namespace std;
  3. class a {
  4. private:
  5.         int x = 0;
  6. public:
  7.         int t = 0;
  8.         int sum()
  9.         {
  10.                 t = 0;
  11.                 cout << "選擇完輸入-1" << endl << "1.小白菜 :20元" << endl;
  12.                 cout << "2.高麗菜:30元" << endl;
  13.                 cout << "3.番茄:40元" << endl;
  14.                 bool life_flag = true;
  15.                 while (life_flag)
  16.                 {
  17.                         cin >> x;
  18.                         switch (x)
  19.                         {
  20.                         case 1:
  21.                                 t += 20;
  22.                                 break;
  23.                         case 2:
  24.                                 t += 30;
  25.                                 break;
  26.                         case 3:
  27.                                 t += 40;
  28.                                 break;
  29.                         default:
  30.                                 life_flag = false;
  31.                                 break;
  32.                         }
  33.                 }
  34.                 cout << "總金額:" << t << endl;
  35.                 return 0;
  36.         }
  37. };
  38. class b :public a {
  39. private:
  40. public:
  41.         int rebate() {
  42.                 cout << "金額超過50元打5折" << endl;
  43.                 if (t >= 50)
  44.                 {
  45.                         t *= 0.5;
  46.                 }
  47.                 cout << "最後確認總金額:" << t << endl;
  48.                 return 0;
  49.         }
  50. };
  51. int main() {
  52.         b bsum;
  53.         bsum.sum();
  54.         bsum.rebate();
  55.         system("pause");
  56.         return 0;
  57. }
複製代碼
...
瀏覽完整內容,請先 註冊登入會員





分享使你變得更實在,可以使其他人感到快樂,分享是我們的動力。今天就來分享你的資訊、圖片或檔案吧。

使用道具檢舉

您需要登錄後才可以回帖 登錄 | 註冊

Powered by Discuz!

© Comsenz Inc.

重要聲明:本討論區是以即時上載留言的方式運作,對所有留言的真實性、完整性及立場等,不負任何法律責任。而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。於有關情形下,用戶應尋求專業意見(如涉及醫療、法律或投資等問題)。 由於本討論區受到「即時上載留言」運作方式所規限,故不能完全監察所有留言,若讀者發現有留言出現問題,請聯絡我們。有權刪除任何留言及拒絕任何人士上載留言,同時亦有不刪除留言的權利。切勿上傳和撰寫 侵犯版權(未經授權)、粗言穢語、誹謗、渲染色情暴力或人身攻擊的言論,敬請自律。本網站保留一切法律權利。
回頂部