บทนำ
Dot (.) และ Arrow (->) ใช้เข้าถึงสมาชิก class/struct/union สถานการณ์ต่างกัน
กฎการใช้งาน
- a.b: b เป็นสมาชิกของ object/reference a (a ต้องเป็น object จริง)
- a->b: shorthand ของ
(*a).ba เป็น pointer
Overloadability
.ไม่ overload ได้->overload ได้
ตัวอย่าง
#include <iostream>
class A {
public:
int b;
A() { b = 5; }
};
int main() {
A a = A();
A* x = &a;
std::cout << "a.b = " << a.b << "\n";
std::cout << "x->b = " << x->b << "\n";
return 0;
}
ผลลัพธ์
a.b = 5 x->b = 5
หมายเหตุ: เนื้อหานี้ซ้ำกับ ID 1004083506 และ 1004083517