📜  C++ 中的对象委托

📅  最后修改于: 2022-05-13 01:55:51.972000             🧑  作者: Mango

C++ 中的对象委托

介绍:

  • 每一种基于面向对象概念的编程语言都试图将一切与现实世界联系起来。
  • 同样,C++ 语言使用类、继承、多态将概念与现实世界的概念联系起来。
  • 在本文中,讨论的主题将是 C++ 中的对象委托以及 C++ 中对象委托的使用。

C++中的对象委托对象委托是指使用另一个类的对象作为另一个类的类成员。它被称为对象委托。以下是委托的一些属性:

  • 委托可以替代继承,但在继承中,有一个关系,但在委托中,类之间没有继承关系。
  • 委托允许我们使用类中所需的特定类的属性。
  • 委托可以被视为对象之间的一种关系,其中一个对象将某个方法调用转发给另一个对象,称为它的委托。
  • 委托的主要优点是运行时的灵活性——可以在运行时轻松更改委托。
  • 但与继承不同的是,大多数流行的面向对象语言并不直接支持委托,并且它不利于动态多态性。

下面是说明对象委托的 C++ 程序:

C++
// C++ program to illustrate the
// Object Delegation
#include 
using namespace std;
class First {
public:
    void print() { cout << "The Delegate"; }
};
class Second {
    // Creating instance of the class
    First ob;
 
public:
    void print() { ob.print(); }
};
 
// Driver Code
int main()
{
    Second ob1;
    ob1.print();
    return 0;
}


输出:
The Delegate

什么时候用什么?

以下是使用继承或委托的一些示例:

  • 假设类称为 B,派生/委托给类的称为 A。
  • 如果用户想表达一个关系(is-a),那么使用继承。
  • 用户希望能够将类传递给期望 A 的现有 API,然后使用继承。
  • 用户想要增强 A,但 A 是最终的,除了使用组合和委托之外,不能进一步进行子类化。
想要从精选的视频和练习题中学习,请查看C++ 基础课程,从基础到高级 C++ 和C++ STL 课程,了解基础加 STL。要完成从学习语言到 DS Algo 等的准备工作,请参阅完整的面试准备课程