Yahoo奇摩知識+將於 2021 年 5 月 4 日 (美國東部時間) 終止服務。自 2021 年 4 月 20 日 (美國東部時間) 起,Yahoo奇摩知識+服務將會轉為唯讀模式。其他Yahoo奇摩產品與服務或您的Yahoo奇摩帳號都不會受影響。如需關於Yahoo奇摩知識+ 停止服務以及下載您個人資料的資訊,請參閱說明網頁。

1.請參考第11.3.2節之例題,建立一類別Record,內僅有一私有資料int num,並設計相關的函式成員set、show、out。然後並修改main()。 ※將字串"Nothing!"換成數值0,"This is a string."換成數值2015。?

第11.3.2節之例題:

1 // Demo of pointer as data member

2 #include <iostream>

3 using namespace std;

4

5 class Astring {

6 public:

7 void set() { str = "Nothing!"; } // 設定字串之函式

8 void set(char * p) { str = p; } // 多載

9 void show() { cout << str << endl; } // 印出字串之函式

10 char *out() { return str; } // 輸出字串之函式

11 private:

12 char *str; // 字串指標作為私有資料成員

13 };

14

15 int main()

16 {

17 Astring a, b;

18 a.set("This is a string."); // 設定字串 a

19 b.set(); // 字串 b 為 Nothing!

20 a.show();

21 cout << b.out() << endl;

22 return 0;

24 }

1 個解答

評分
  • ?
    Lv 7
    5 年前

    1 // Demo of int as data member

    2 #include <iostream>

    3 using namespace std;

    4 template <typename T>

    5 class AT{

    6 public:

    7 void set():d(0) { } // 設定0

    8 void set(T t) { d=t; } // 多載

    9 ostream&show() { return cout << d; } // 印出函式

    10 T out() { return d; } // 輸出函式

    11 private:

    12 T d; // d 為私有資料成員

    13 };

    14

    15 int main()

    16 {

    17 AT<int> a, b;

    18 a.set(2015); // 設定 a

    19 b.set(); // 字串 b 為0!

    20 a.show() << endl;

    21 cout << b.out() << endl;

    22 return 0;

    24 }

還有問題?馬上發問,尋求解答。