오류, 버그, 질문 - 페이지 1056

 

나 자신도 현재 상황에 대한 정당성을 찾을 수 있습니다. 동일한 클래스의 인스턴스 간에 "재산권"을 엄격하게 구분하면 모든 종류의 이진 연산을 설명할 때 구문이 복잡해질 수 있습니다(계층의 동일한 수준에서도). 그러나 상속할 때 "직접 접근"은 확실히 잘려야 합니다.

nefig 때문에 확실히 ..;)

 
MetaDriver :

1. 비공개 부분에 배치해도 다음과 같은 경우에는 변경되지 않습니다.

상속이 변경되면 분명합니다.

2. 누구에게나 필요한 것은 거의 없습니다. 이유는 자신의 사본에 액세스할 때만 있습니다.

3. 글쎄, 그가 결정하자. 바르게. ;)

4. 이것이 전체 질문입니다. 정확히 "올바른 작업"으로 간주되는 것은 무엇입니까?

1. 정말 지갑을 숨기고 싶다면 gch() 함수를 왜 만드나요?

2. 복사는 언제 가능한가요?

 
Zloy_Koldun :

1. 정말 지갑을 숨기고 싶다면 gch() 함수를 왜 만드나요?

2. 복사는 언제 가능한가요?

내 이전 게시물을 읽으십시오. 모든 답이 거기에 있습니다.

고대의 언젠가는 순전히 bukaf를 구하기 위해 "기본적으로" 자신의 클래스의 다른 객체(인스턴스)를 친구로 간주하는 "정치적 결정"이 내려졌습니다. 그리고 이제 당신은이 예외 를 삶의 규범으로 간주하고 모든 먼 친척의 개인 주머니에 자유롭게 오르기를 원합니다.

말...

 
MetaDriver :

1. 비공개 부분에 배치해도 다음과 같은 경우에는 변경되지 않습니다.

 class Человек
{
private :
   int кошелёк; 
public :
   void Человек() {  кошелёк= 3 ; }
   void gч( Человек& ч )  
   { 
    ч.кошелёк--;   // сейчас работает.  а не должно ;)
   }
};

상속이 변경되면 분명합니다.

2. 누구에게나 필요한 것은 거의 없습니다. 이유는 자신의 사본에 액세스할 때만 있습니다.

3. 글쎄, 그가 결정하자. 바르게. ;)

4. 이것이 전체 질문입니다. 정확히 무엇이 "올바른 작업"으로 간주되는지입니다.

예, 작동하지만 안됩니다. 그건 그렇고, ME에서 자동 완성할 때(시간을 쓸 때) "지갑" 변수는 비공개이기 때문에 주어지지 않습니다. 그래서 이 기능은 너무 오랫동안 눈에 띄지 않았을 것입니다.
 
class Человек
{
private:
   int кошелёк; 
public:
   void Человек() {  кошелёк=3; }
   void gч( Человек& ч )  
   { 
    ч.кошелёк--;   // Работает и должно работать!
   }
   void gcч( const Человек& ч )  
   { 
    ч.кошелёк--;   // Не работает, как и должно.
   }
};
 
Zloy_Koldun :

확인. 그리고 말해봐. 다른 누구도 아닌 "소유자" 인스턴스의 메서드에 의해서만 수정될 수 있도록 클래스에서 이러한 필드를 정의하는 방법.

이것이 가능하지 않다면 분명히 언어로 가슴 을 캡슐화하는 주제가 공개되지 않습니다. 아니다?

 
MetaDriver :

확인. 그리고 말해봐. 다른 누구도 아닌 "소유자" 인스턴스의 메서드에 의해서만 수정될 수 있도록 클래스에서 이러한 필드를 정의하는 방법.

이것이 가능하지 않다면 분명히 언어로 가슴 을 캡슐화하는 주제가 공개되지 않습니다. 아니다?

그것은 불가능. 그리고 당신은 할 필요가 없습니다. 동의하지 않는다면 좋은 예를 들어 주십시오.
 
이 오류는 무엇을 의미합니까? 지연이 작동하지 않았습니다. " HistoryBase: 'GBPUSD60'의 114개 오류
 
MetaDriver :
 class Человек
{
private :
   int кошелёк; 
public :
   void Человек() {  кошелёк= 3 ; }
   void gч( Человек& ч )  
   { 
    ч.кошелёк--;   // сейчас работает.  а не должно ;)
   }
};
이 기능은 놀라웠습니다. 확실히 컴파일러가 다른 사람 인스턴스의 개인 필드를 변경할 수 있도록 허용한다면 이것은 완전한 쓰레기입니다. 서비스 데스크에 게시해야 합니다.
 
C-4 :
이 기능은 놀라웠습니다. 확실히 컴파일러가 다른 사람 인스턴스의 개인 필드를 변경할 수 있도록 허용한다면 이것은 완전한 쓰레기입니다. 서비스 데스크에 게시해야 합니다.

이해할 수 없습니다. 왜 그렇게 자신을 제한하고 싶습니까?

이것이 자동으로 프로그램을 더 안전하게 만들 것이라고 생각합니까?

그렇지 않습니다! 오히려 그 반대가 사실입니다.

언젠가는 다음과 같이 작성하게 될 추가 제한 사항입니다.

 static int Мой_Кошелёк; // Бери, все, кто хочет.