Я использую английский. Надеюсь, вы понимаете.
Как мы можем получить доступ к личному члену без получателя? Я не могу этого понять.
Когда мы узнали о C ++, к частному, общедоступному, защищенному, приватному члену или функции можно получить доступ в области видимости класса.
class TestClass {
public:
TestClass() {
testMem = 10;
}
void testFunction() {
cout << testMem << endl;
}
private:
int testMem;
}
но я действительно запутался, когда увидел этот код.
class B {
public:
B() {
testNumber = 10;
}
void printMember() {
cout << testNumber << endl;
}
private:
int testNumber;
}
class Money {
public:
Money();
bool operator < (Money& amount, B& b) const {
// this code doesn't make any error
// why same type member can access their private member directly without getter and setter?
amount.cents = 10;
amount.dollors = 10;
// this Code make a error
// b.testNumber = 10;
// below
// compare code
}
private:
int dollars;
int cents;
};
я действительно запутался ... почему параметр Money & amount может получить доступ к своему приватному члену без получения и получениясеттер? Но класс B не может получить доступ к своему личному члену без добытчика. как..? почему? ..