C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

スコープ解決演算子とC++でのこのポインター


スコープ解決演算子は静的メンバーまたはクラスメンバーにアクセスするために使用されますが、このポインターは、同じ名前のローカル変数がある場合にオブジェクトメンバーにアクセスするために使用されます。

スコープ解決演算子

#include<iostream>
using namespace std;
class AB {
   static int x;
   public:
      // Local parameter 'x' hides class member
      // 'x', but we can access it using ::.
   void print(int x) {
      cout<<"the number is:" << AB::x;
   }
};
// static members must be explicitly defined like below in c ++
int AB::x = 7;
int main() {
   AB ob;
   int m = 6 ;
   ob.print(m);
   return 0;
}

出力

the number is:7

このポインタ

#include<iostream>
using namespace std;
class AB {
   int x;
   public:
      AB() {
         x = 6;
      }
   // here Local parameter 'x' hides object's member
   // 'x', we can access it using this.
   void print(int x) {
      cout<<"the number is: " << this->x;
   }
};
int main() {
   AB ob;
   int m = 7 ;
   ob.print(m);
   return 0;
}

出力

the number is: 6

  1. C#のスコープ解決演算子とは何ですか?

    C#のスコープ解決演算子は、C++とは異なる意味を持っています。 C ++では::はグローバル変数に使用されますが、C#では名前空間に関連しています。 異なる名前空間で識別子を共有するタイプがある場合、それらを識別するには、スコープ解決演算子を使用します。 たとえば、System.Consoleクラスを参照するには、スコープ解決演算子でグローバル名前空間エイリアスを使用します。 global::System.Console 例 using myAlias = System.Collections; namespace Program {    class Demo {

  2. C#のスコープ解決演算子(::)はどこで使用しますか?

    C ++では、スコープ解決演算子、つまり::がグローバル変数に使用されますが、C#では名前空間に関連しています。 異なる名前空間で識別子を共有するタイプがある場合、それらを識別するには、スコープ解決演算子を使用します。 たとえば、System.Consoleクラスを参照するには、スコープ解決演算子-を指定してグローバル名前空間エイリアスを使用します。 global::System.Console 例を見てみましょう- 例 using myAlias = System.Collections; namespace Program {    class Demo { &