エラー、バグ、質問 - ページ 1056

 

同じクラスのインスタンス間で「所有権」を厳密に分離すると、(同じ階層レベルであっても)あらゆる種類の二項演算を記述する際に構文が乱雑になる可能性があるからです。しかし、相続の場合、「直接アクセス」は確実に削られるはずです。

だって、そんなことしても意味ないんだもん・・・。;)

削除済み  
MetaDriver:

1.の場合、プライベートパーツを入れても何も変わりません。

相続の場合、そうなるのは明らかです。

2.必要なものは少ないが...。根拠は、自分自身のコピーにアクセスする場合のみです。

3.だから、それに決めてもらう。;)

4. 何をもって「正しい操作」とするのか、そこが問題なのです。

1.本当に財布を隠したいのなら、なぜgch()をするのですか?

2.また、インスタンスをコピーする場合、何かあるのでしょうか?

 
Zloy_Koldun:

1.本当に財布を隠したいのなら、なぜgh()関数を使うのですか?

2.また、どのような場合にコピーインスタンスが利用できるのでしょうか?

前回の記事を読むすべての答えがそこにある。

かつては、ブカフを節約するために、自分と同じクラスの他のオブジェクト(インスタンス)を「デフォルト」で友人とみなすことが「政治的決定」でした。 そして今、あなたはこの例外を 人生の規範とし、遠縁のすべての人の私腹を自由にこじ開けようとしているのです。

はぁ...

 
MetaDriver:

1.の場合、プライベートパーツを入れても何も変わりません。

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

相続の場合、そうなるのは明らかです。

2.必要なものは少ないが...。は、自分自身のコピーにアクセスする場合のみ根拠となります。

3.だから、決めろよ。;)

4. 具体的に 何をもって「正しい仕事」とするのか、そこが問題なのです。

そうです、それは機能しますが、そうであってはならないのです。ちなみに、MEでオートコンプリートする場合(chを書く場合)、変数「wallet」は非公開になっているため、この機能は長い間気づかれなかったのでしょう。
削除済み  
class Человек
{
private:
   int кошелёк; 
public:
   void Человек() {  кошелёк=3; }
   void gч( Человек& ч )  
   { 
    ч.кошелёк--;   // Работает и должно работать!
   }
   void gcч( const Человек& ч )  
   { 
    ч.кошелёк--;   // Не работает, как и должно.
   }
};
 
Zloy_Koldun:

よし、じゃあ教えてくれ。このようなフィールドをクラス内に定義し、"master "インスタンスのメソッドによってのみ、他の誰にも変更されないようにするにはどうしたらよいでしょうか?

無理なら、カプセル化おっぱいの 話題は言語ではカバーされていないのでは?

削除済み  
MetaDriver:

よし、じゃあ教えてくれ。このようなフィールドをクラス内に定義し、"master "インスタンスのメソッドによってのみ、他の誰にも変更されないようにするにはどうしたらよいでしょうか?

もし不可能なら、カプセル化されたおっぱいの 話題は、おそらく言語ではカバーされていないのでは?

不可能です。そして、その必要はない。もし反対なら、賢明な例を挙げてください。
 
このエラーの意味は、保留中の注文が発動していないことです。" HistoryBase: 'GBPUSD60' で114のエラー。
 
MetaDriver:
class Человек
{
private:
   int кошелёк; 
public:
   void Человек() {  кошелёк=3; }
   void gч( Человек& ч )  
   { 
    ч.кошелёк--;   // сейчас работает.  а не должно ;)
   }
};
この機能には、不愉快なほど驚かされました。コンパイラが他人のインスタンスのプライベートフィールドを変更することを許可しているのであれば、それは間違いなくデタラメです。servicedeskに投稿されるはずです。
削除済み  
C-4:
この機能には、不愉快なほど驚かされます。コンパイラが他人のインスタンスのプライベートフィールドを変更することを許可しているのであれば、それは明らかにでたらめです。servicedeskに投稿されるはずです。

理解できないのは、なぜそんなに自分を制限したがるのか、ということです。

自動的にプログラムの安全性が高まると思っているのか?

そんなことはない!それどころか

いつかそういう書き方をさせるのは、不要な制約です。

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