Propriétés en C 11
C#:
<code class="csharp">public Foo foo { get; private set; }</code>
C :
<code class="cpp">private: Foo foo; public: Foo getFoo() { return foo; }</code>
C 11 Syntax Sugar
C 11 ne fournit pas de sucre de syntaxe direct pour les propriétés, mais vous pouvez définir le vôtre. À l'aide de classes sans nom, vous pouvez créer une structure comme la suivante :
<code class="cpp">struct Foo { class { int value; public: int &operator=(const int &i) { return value = i; } operator int() const { return value; } } alpha; class { float value; public: float &operator=(const float &f) { return value = f; } operator float() const { return value; } } bravo; };</code>
Cette structure vous permet d'accéder aux membres comme les propriétés :
<code class="cpp">Foo foo; foo.alpha = 10; // Equivalent to foo.setAlpha(10) int i = foo.alpha; // Equivalent to foo.getAlpha()</code>
Vous pouvez personnaliser davantage cette implémentation en ajoutant un getter et les méthodes setter et l'extension de la structure pour prendre en charge l'accès des membres de la classe.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!