一、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/zh-hk/n/243555.html
微信掃一掃
支付寶掃一掃