一、friendclass类定义
friendclass是C++中一种类修饰符,可以定义一个友元类,使之成为当前类的好朋友,可以共享当前类私有成员变量和方法。下面是一个friendclass的类定义:
class MyClass {
private:
int x;
public:
MyClass() {}
friend class MyFriendClass;
};
上述代码中,通过friend class关键字定义一个名为MyFriendClass的友元类,使得MyFriendClass可以访问MyClass的私有成员变量x。
二、friendclass
friendclass在C++中还有另外一种使用方式,可以定义两个类之间的友元关系,使得另一个类可以访问当前类的私有成员变量和方法。下面是一个friendclass的使用示例:
class MyClass;
class MyFriendClass {
public:
void doSomething(MyClass& obj);
};
class MyClass {
private:
int x;
public:
MyClass(int i) : x(i) {}
friend class MyFriendClass;
};
void MyFriendClass::doSomething(MyClass& obj) {
cout << obj.x << endl;
}
int main() {
MyClass obj(5);
MyFriendClass friendObj;
friendObj.doSomething(obj);
return 0;
}
上述代码中,通过friend class关键字定义一个名为MyFriendClass的友元类,并声明MyClass为友元类,使得MyFriendClass可以访问MyClass的私有成员变量x。
三、friendclassmate翻译中文
friendclassmate中文翻译过来就是“友元同学”,它是friend class的一种变种用法,可以让多个类之间相互访问私有成员变量和方法。下面是一个friendclassmate的使用示例:
class MyClassFriend;
class MyClass {
private:
int x;
public:
MyClass(int i) : x(i) {}
friend class MyClassFriend;
};
class MyClassFriend {
public:
void doSomething(MyClass& obj) {
cout << obj.x << endl;
}
};
int main() {
MyClass obj(5);
MyClassFriend friendObj;
friendObj.doSomething(obj);
return 0;
}
上述代码中,通过friend class关键字定义一个名为MyClassFriend的友元类,使得MyClass和MyClassFriend可以相互访问私有成员变量x。
四、总结
friendclass是C++中一种类修饰符,用于定义友元关系,使得外部类可以访问当前类的私有成员变量和方法。无论是friendclass、friend class、还是friendclassmate,它们都能够帮助我们编写更加灵活的代码,提高代码的复用性。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/243555.html
微信扫一扫
支付宝扫一扫