首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从C++中的类外部修改类的成员

从C++中的类外部修改类的成员可以通过友元函数或者友元类来实现。

  1. 友元函数:友元函数是在类的声明中通过关键字friend声明的非成员函数,它可以访问类的私有成员和保护成员。在类的声明中,将需要访问类的私有成员或保护成员的函数声明为友元函数。友元函数可以在类外部定义,但是在定义时需要在函数名前加上类名和作用域解析运算符::

示例代码:

代码语言:txt
复制
class MyClass {
private:
    int privateMember;
public:
    friend void modifyPrivateMember(MyClass& obj, int value);
};

void modifyPrivateMember(MyClass& obj, int value) {
    obj.privateMember = value;
}
  1. 友元类:友元类是在类的声明中通过关键字friend声明的另一个类,它可以访问类的私有成员和保护成员。在类的声明中,将需要访问类的私有成员或保护成员的类声明为友元类。

示例代码:

代码语言:txt
复制
class MyClass {
private:
    int privateMember;
public:
    friend class FriendClass;
};

class FriendClass {
public:
    void modifyPrivateMember(MyClass& obj, int value) {
        obj.privateMember = value;
    }
};

友元函数和友元类的使用可以在某些特定情况下提供方便,但应该谨慎使用,因为它们破坏了封装性,增加了类的耦合性。在设计类时,应该尽量遵循封装的原则,只暴露必要的接口给外部使用,而不是直接修改类的成员。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的结果

领券