Erreurs, bugs, questions - page 1057

 
C-4:
Cette caractéristique a été désagréablement surprenante. C'est définitivement une connerie si le compilateur permet de changer le champ privé de l'instance d'un autre. Nous devrions le poster au Service Desk.
Ils lèvent les yeux vers les plus, et c'est comme ça là-bas aussi.
 
Zloy_Koldun:

Je ne comprends pas : pourquoi voulez-vous vous limiter à ce point ?

Pensez-vous que cela rendra automatiquement votre programme plus sûr ?

Il ne le fera pas ! Au contraire.

Ce sont les restrictions inutiles qui vous pousseront à l'écrire de cette façon un jour :

Vous connaissez une chose ou deux sur la POO, mais vous ne la comprenez pas encore.

Regardez :

///
/// Класс - меценат. Любой желающий может взять из его кошелька сколько хочет.
/// Если у нас монополия на меценатов, и он может быть только один, объявляем класс статическим
/// (на его работу это никак не повлияет).
///
class Меценат
{
    public:
      /// Отдает нужное количество денег
      int GetMoney(int СколькоДенегВзять)
      {
          кошелек -= СколькоДенегВзять;
          return СколькоДенегВзять;
      }
    private:
       int кошелек;
};
Est-il surprenant que j'ai fermé la variable "wallet", malgré le fait que l'idée originale de la classe est de rendre son portefeuille disponible à tous ? Mais si chacun prend autant qu'il veut, nous perdrons de l'argent et c'est impossible. La fonction GetMoney l'autorise maintenant, mais après avoir ajouté plusieurs lignes, elle ne permet pas de prendre plus d'argent. Imaginons maintenant que la classe Maecenas soit accédée par des dizaines d'objets différents demandant de l'argent. Si la variable portefeuille est ouverte, chacun de ces objets devra également contrôler (c'est-à-dire avoir sa propre implémentation) pour vérifier s'il a assez d'argent. Et si au moins l'un d'entre eux ne le fait pas, il risque d'obtenir une valeur négative au lieu de zéro, ce qui signifierait qu'il a demandé de l'argent et qu'il s'est retrouvé à devoir de l'argent également.
 
C-4:

Mate, je vois que vous connaissez une chose ou deux sur la POO, mais vous n'avez pas encore saisi l'essence de celle-ci.

Regardez :

Est-il surprenant que j'aie fermé la variable "bourse", malgré le fait que l'idée originale de la classe est de mettre sa bourse à la disposition de tous ? Mais si chacun prend autant qu'il veut, nous perdrons de l'argent et c'est impossible. La fonction GetMoney l'autorise maintenant, mais après avoir ajouté quelques lignes, elle ne permet pas de prendre plus d'argent. Imaginons maintenant que la classe Maecenas soit accédée par des dizaines d'objets différents demandant de l'argent. Si la variable portefeuille est ouverte, chacun de ces objets devra également contrôler (c'est-à-dire avoir sa propre implémentation) pour vérifier s'il a assez d'argent. Et si au moins l'un d'entre eux ne le fait pas, il risque d'obtenir une valeur négative au lieu de zéro, ce qui signifierait qu'il a demandé de l'argent et qu'il s'est retrouvé à devoir de l'argent également.
Je n'avais rien contre un portefeuille privé. La conversation a commencé par ceci: https://www.mql5.com/ru/forum/1111/page1072#comment_589657
 
Zloy_Koldun:
Je n'avais rien contre le portefeuille privé. La conversation a commencé par ceci: https://www.mql5.com/ru/forum/1111/page1072#comment_589657
C'est vrai. La classe B se réfère à la classe externe A et souhaite que les variables protégées de la classe A lui soient accessibles. Je ne comprends pas où est la logique ici.
 
C-4:
C'est exact. La classe B accède à la classe externe A et souhaite que les variables protégées de la classe A lui soient accessibles. Je ne comprends pas la logique ici.
Ça n'a rien à voir avec la logique. Ça veut... !
 
MetaDriver:
Qu'est-ce que la logique a à voir avec ça ?

http://alenacpp.blogspot.com/2006/03/blog-post_11.html

Le modificateur protégé est une pute. Il est rarement nécessaire.

Une véritable encapsulation implique la confidentialité des données.

Права доступа при наследовании
  • 2006.03.11
  • alenacpp.blogspot.com
С правами доступа при наследовании довольно легко запутаться. Мало того, что для данных и функций класса в С++ есть целых три уровня доступа: , и , еще ведь можно и само наследование сделать , и . Самым загадочным их них является -наследование. Запутаться во всем этом зоопарке очень просто, поэтому я аккуратно расписала где какой уровень досупа...
 
Pouvez-vous me dire si vous voulez sélectionner le premier caractère en pos - dois-je mettre 1 ou 0 en pos ? Est-il indexé comme dans les tableaux ?
 
paladin800:
Pouvez-vous me dire si vous voulez sélectionner le premier caractère en pos - dois-je mettre 1 ou 0 en pos ? Est-il indexé comme dans les tableaux ?
Il est facile de le vérifier : Imprimer.
 
paladin800:
Pouvez-vous me dire si vous voulez sélectionner le premier caractère en pos - dois-je mettre 1 ou 0 en pos ? Est-il indexé comme dans les tableaux ?
Oui, à partir de zéro.
 

Pourquoi les agents du MQL5 Cloud Network ne sont pas activés et ne s'affichent pas dans le terminal lors du démarrage avec le commutateur /portrabl ?

Lors du démarrage sans le commutateur /portrabl, les agents sont affichés et activés.

activé : service ...permettre l'accès au public - dans les deux cas

avec le commutateur /portrabl :

applications servicedesk : #832323,#833080.