ホームページ >バックエンド開発 >C++ >C++ の静的関数とフレンド関数の違いは何ですか?

C++ の静的関数とフレンド関数の違いは何ですか?

WBOY
WBOYオリジナル
2024-04-17 08:42:01608ブラウズ

静的関数は、静的メンバーにのみアクセスし、このポインターを受け取りません。フレンド関数はクラスに属さず、すべてのメンバーにアクセスしてこのポインターを受け取ります。

C++ 静态函数与友元函数有什么区别?

#C における静的関数とフレンド関数の違い

#静的関数

クラスに属しますが、特定のオブジェクトには属しません。クラス メソッドと呼ぶこともできます。
  • static
  • キーワードを使用して宣言されます。 クラスの静的メンバーのみにアクセスできます。
  • this
  • ポインタを受け取りません。
  • #フレンド関数

どのクラスにも属しません。

  • friend
  • キーワード ステートメントを使用します。
  • プライベート メンバーを含むクラスのすべてのメンバーにアクセスできます。
  • this
  • ポインタを受け取ることができます。
  • #テーブルの概要

特徴はではありません#アクセス権クラスの静的メンバークラスのすべてのメンバーこのポインター受け付けられない受け付けられる宣言方法 キーワード キーワード静的関数の例:
静的関数 #フレンド機能 ##クラスのメンバーシップ
static
friend 実用的なケース
円の面積を計算する

class Circle {
public:
    static double calculateArea(double radius) {
        return 3.14 * radius * radius;
    }
};

int main() {
    double radius = 5.0;
    double area = Circle::calculateArea(radius);
    cout << "圆的面积:" << area << endl;
    return 0;
}
フレンド関数の例:

プライベート メンバーの値を出力する

class Student {
private:
    int age;

public:
    friend void printAge(Student& student);
};

void printAge(Student& student) {
    cout << "年龄:" << student.age << endl;
}

int main() {
    Student student;
    student.age = 20;
    printAge(student);
    return 0;
}

以上がC++ の静的関数とフレンド関数の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。