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 75 年前
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 }