[問題] c++ class 可否多載 class name?
開發平台(Platform): (Ex: Win10, Linux, ...)
linux
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
clang++ -std=c++11
問題(Question):
我目前能多載 operator[] / > / < / + / ...
但我想要多載 class 變數名稱
ex.
class Ball {
public:
.......
bool 多載func () {
return (a > b);
}
private:
... ...
int a, b;
}
int main(){
Ball a;
// 我想要多載 a,直接 return boolean value
if( a ) {
}
....
}
目前不知道如何實作
有大大可以分享教學嗎~~
謝謝~
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.137.108.25 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1563959733.A.36F.html
推
07/24 17:24,
4年前
, 1F
07/24 17:24, 1F
→
07/24 17:25,
4年前
, 2F
07/24 17:25, 2F
不行,這不符合需求,這我有想過~
a 不能變成 a()
推
07/24 17:30,
4年前
, 3F
07/24 17:30, 3F
沒有很懂><
推
07/24 17:31,
4年前
, 4F
07/24 17:31, 4F
→
07/24 17:31,
4年前
, 5F
07/24 17:31, 5F
※ 編輯: OfficeGL (114.137.108.25 臺灣), 07/24/2019 18:15:50
推
07/24 18:16,
4年前
, 6F
07/24 18:16, 6F
→
07/24 18:16,
4年前
, 7F
07/24 18:16, 7F
推
07/24 18:18,
4年前
, 8F
07/24 18:18, 8F
推
07/24 19:54,
4年前
, 9F
07/24 19:54, 9F
→
07/24 19:54,
4年前
, 10F
07/24 19:54, 10F
→
07/24 19:55,
4年前
, 11F
07/24 19:55, 11F
→
07/25 00:57,
4年前
, 12F
07/25 00:57, 12F
可以了~~~ 感謝大家幫助
不過我可以在提問一下嗎?
conversion operator, ex. operator double() / bool() / int() ..
這樣不就根本不需要多載 + - * / && or 了嗎~
class ball { /* declare */ }
int main(){
ball a, b;
int sum = a + b; // 這樣可以 work 椰!! 我根本沒多載 operator +
}
太厲害了~~ 還是我有誤會呢
※ 編輯: OfficeGL (114.137.202.175 臺灣), 07/25/2019 13:33:34
→
07/25 13:51,
4年前
, 13F
07/25 13:51, 13F
→
07/25 13:53,
4年前
, 14F
07/25 13:53, 14F
推
07/25 17:35,
4年前
, 15F
07/25 17:35, 15F
→
07/25 17:35,
4年前
, 16F
07/25 17:35, 16F
→
07/25 17:36,
4年前
, 17F
07/25 17:36, 17F
→
07/25 17:36,
4年前
, 18F
07/25 17:36, 18F
→
07/25 17:37,
4年前
, 19F
07/25 17:37, 19F
瞭解了~~ 非常謝謝解說
※ 編輯: OfficeGL (114.137.202.175 臺灣), 07/25/2019 18:31:03
推
07/28 12:42,
4年前
, 20F
07/28 12:42, 20F