class Человек
{
private :
int кошелёк;
public :
void Человек() { кошелёк= 3 ; }
void gч( Человек& ч )
{
ч.кошелёк--; // сейчас работает. а не должно ;)
}
};
상속이 변경되면 분명합니다.
2. 누구에게나 필요한 것은 거의 없습니다. 이유는 자신의 사본에 액세스할 때만 있습니다.
3. 글쎄, 그가 결정하자. 바르게. ;)
4. 이것이 전체 질문입니다. 정확히 무엇이 "올바른 작업"으로 간주되는지입니다.
예, 작동하지만 안됩니다. 그건 그렇고, ME에서 자동 완성할 때(시간을 쓸 때) "지갑" 변수는 비공개이기 때문에 주어지지 않습니다. 그래서 이 기능은 너무 오랫동안 눈에 띄지 않았을 것입니다.
class Человек
{
private:
int кошелёк;
public:
void Человек() { кошелёк=3; }
void gч( Человек& ч )
{
ч.кошелёк--; // Работает и должно работать!
}
void gcч( const Человек& ч )
{
ч.кошелёк--; // Не работает, как и должно.
}
};
class Человек
{
private :int кошелёк;
public :
void Человек() { кошелёк= 3 ; } void gч( Человек& ч )
{
ч.кошелёк--; // сейчас работает. а не должно ;)
}
};
이 기능은 놀라웠습니다. 확실히 컴파일러가 다른 사람 인스턴스의 개인 필드를 변경할 수 있도록 허용한다면 이것은 완전한 쓰레기입니다. 서비스 데스크에 게시해야 합니다.
나 자신도 현재 상황에 대한 정당성을 찾을 수 있습니다. 동일한 클래스의 인스턴스 간에 "재산권"을 엄격하게 구분하면 모든 종류의 이진 연산을 설명할 때 구문이 복잡해질 수 있습니다(계층의 동일한 수준에서도). 그러나 상속할 때 "직접 접근"은 확실히 잘려야 합니다.
nefig 때문에 확실히 ..;)
1. 비공개 부분에 배치해도 다음과 같은 경우에는 변경되지 않습니다.
상속이 변경되면 분명합니다.
2. 누구에게나 필요한 것은 거의 없습니다. 이유는 자신의 사본에 액세스할 때만 있습니다.
3. 글쎄, 그가 결정하자. 바르게. ;)
4. 이것이 전체 질문입니다. 정확히 "올바른 작업"으로 간주되는 것은 무엇입니까?
1. 정말 지갑을 숨기고 싶다면 gch() 함수를 왜 만드나요?
2. 복사는 언제 가능한가요?
1. 정말 지갑을 숨기고 싶다면 gch() 함수를 왜 만드나요?
2. 복사는 언제 가능한가요?
내 이전 게시물을 읽으십시오. 모든 답이 거기에 있습니다.
고대의 언젠가는 순전히 bukaf를 구하기 위해 "기본적으로" 자신의 클래스의 다른 객체(인스턴스)를 친구로 간주하는 "정치적 결정"이 내려졌습니다. 그리고 이제 당신은이 예외 를 삶의 규범으로 간주하고 모든 먼 친척의 개인 주머니에 자유롭게 오르기를 원합니다.
말...
1. 비공개 부분에 배치해도 다음과 같은 경우에는 변경되지 않습니다.
상속이 변경되면 분명합니다.
2. 누구에게나 필요한 것은 거의 없습니다. 이유는 자신의 사본에 액세스할 때만 있습니다.
3. 글쎄, 그가 결정하자. 바르게. ;)
4. 이것이 전체 질문입니다. 정확히 무엇이 "올바른 작업"으로 간주되는지입니다.
확인. 그리고 말해봐. 다른 누구도 아닌 "소유자" 인스턴스의 메서드에 의해서만 수정될 수 있도록 클래스에서 이러한 필드를 정의하는 방법.
이것이 가능하지 않다면 분명히 언어로 가슴 을 캡슐화하는 주제가 공개되지 않습니다. 아니다?
확인. 그리고 말해봐. 다른 누구도 아닌 "소유자" 인스턴스의 메서드에 의해서만 수정될 수 있도록 클래스에서 이러한 필드를 정의하는 방법.
이것이 가능하지 않다면 분명히 언어로 가슴 을 캡슐화하는 주제가 공개되지 않습니다. 아니다?
이 기능은 놀라웠습니다. 확실히 컴파일러가 다른 사람 인스턴스의 개인 필드를 변경할 수 있도록 허용한다면 이것은 완전한 쓰레기입니다. 서비스 데스크에 게시해야 합니다.
이해할 수 없습니다. 왜 그렇게 자신을 제한하고 싶습니까?
이것이 자동으로 프로그램을 더 안전하게 만들 것이라고 생각합니까?
그렇지 않습니다! 오히려 그 반대가 사실입니다.
언젠가는 다음과 같이 작성하게 될 추가 제한 사항입니다.