在面向对象编程中,基类和派生类是继承关系中的两个概念。基类是派生类的父类,派生类继承了基类的属性和方法,并可以在此基础上添加自己的属性和方法。
要对基类中的派生类函数加好友,可以通过以下步骤实现:
friend
关键字,将派生类声明为基类的友元。这样派生类就可以访问基类的私有成员。下面是一个示例代码:
#include <iostream>
using namespace std;
class Base {
private:
void privateFunc() {
cout << "This is a private function in Base class." << endl;
}
protected:
void protectedFunc() {
cout << "This is a protected function in Base class." << endl;
}
public:
void publicFunc() {
cout << "This is a public function in Base class." << endl;
}
friend class Derived; // 将Derived类声明为Base类的友元
};
class Derived : public Base {
public:
void callBaseFunc() {
publicFunc(); // 可以直接调用基类的公有函数
protectedFunc(); // 可以直接调用基类的受保护函数
// privateFunc(); // 无法直接调用基类的私有函数,会编译错误
}
};
int main() {
Derived derived;
derived.callBaseFunc();
return 0;
}
在上述示例中,基类Base
中有一个私有函数privateFunc()
和一个受保护函数protectedFunc()
,并将派生类Derived
声明为基类的友元。在派生类Derived
中的callBaseFunc()
函数中,可以直接调用基类的公有函数publicFunc()
和受保护函数protectedFunc()
,但无法直接调用基类的私有函数privateFunc()
。
这样,就实现了对基类中的派生类函数的访问。
云+社区技术沙龙[第22期]
云+社区技术沙龙[第28期]
云+社区技术沙龙[第25期]
云+社区技术沙龙[第14期]
腾讯云数智驱动中小企业转型升级系列活动
T-Day
云+社区技术沙龙[第1期]
云+社区技术沙龙[第27期]
云+社区技术沙龙[第26期]
serverless days
云+社区技术沙龙[第29期]
领取专属 10元无门槛券
手把手带您无忧上云