C++静态成员&友元&命名空间介绍

定义

  1. 静态成员:静态成员是类的成员,它们在类定义中声明,但与类的实例无关。它们可以通过类名和静态成员函数访问,而不是通过类的实例。静态成员可以是数据成员(变量)或函数成员(函数)。在类定义中,可以使用关键字static来声明静态成员。
  2. 友元:友元是C++中的一种特殊关系,它允许一个类访问另一个类的私有和保护成员。通过在类定义中使用关键字friend来声明友元,可以指定一个友元类或友元函数。友元关系是单向的,即如果类A是类B的友元,则类B不一定是类A的友元。
  3. 命名空间:命名空间是一种组织代码的方式,它避免了命名冲突并提供了代码的可读性。在C++中,可以使用关键字namespace来定义命名空间。命名空间可以包含变量、函数和其他类型定义。通过使用命名空间前缀,可以在其他代码中引用该命名空间中的标识符。

应用举例

废话不多说,直接上列子

// 包含命名空间
namespace ExampleNamespace {

    // 声明一个类
    class ExampleClass {
    public:
        // 静态数据成员
        static int staticVariable;

        // 静态成员函数
        static void staticFunction() {
            std::cout << "This is a static function." << std::endl;
        }

        // 构造函数
        ExampleClass(int value) {
            // 使用友元访问静态数据成员
            ExampleClass::staticVariable = value;
        }

        // 普通成员函数
        void normalFunction() {
            std::cout << "This is a normal function." << std::endl;
        }

        // 友元类
        friend class ExampleFriendClass;
    };

    // 定义命名空间中的变量
    int ExampleClass::staticVariable = 0;
}

// 在另一个类中使用友元关系访问静态数据成员
class ExampleFriendClass {
public:
    void accessStaticVariable() {
        std::cout << ExampleNamespace::ExampleClass::staticVariable << std::endl;
    }
};
例子说明

ExampleClass包含一个静态数据成员staticVariable和一个静态成员函数staticFunction。在构造函数中,使用友元关系访问了静态数据成员。ExampleFriendClass被声明为ExampleClass的友元类,从而可以访问ExampleClass的私有和保护成员。所有这些元素都在ExampleNamespace命名空间中定义。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

匠心码农

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值