c++ - 将类视为一流对象

标签 c++ oop prototype design-patterns

我正在阅读 GoF 书,在原型(prototype)部分的开头我读到了:

This benefit applies primarily to languages like C++ that don't treat classes as first class objects.

我从未使用过 C++,但我对 OO 编程非常了解,但是,这对我来说没有任何意义。任何人都可以对此进行详细说明吗(如果有帮助,我已经使用\使用:C,Python,Java,SQL。)

最佳答案

要使一个类成为第一类对象,该语言需要支持做一些事情,例如允许函数将类(而不是实例)作为参数,能够在容器中保存类,以及能够从函数返回类。

有关具有一流类的语言的示例,请考虑 Java。任何对象都是其类的实例。该类本身就是 java.lang.Class 的一个实例.

关于c++ - 将类视为一流对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/605067/

相关文章:

javascript - 如何添加像 num.tf(n) 这样的方法作为 num.toFixed(n) 的别名

c++ - 在没有任何 JavaScript 知识的情况下,如何在 PNaCl 中编写 C++ HTML5 应用程序?

c++ - 继承自 std::ostringstream

c++ - 如何在 Unix 中获取更改当前键盘布局的事件?

JavaScript:增量方法

javascript - 覆盖继承的原型(prototype)方法并在新方法中调用原始方法

c++ - 类构造函数、重载构造函数和对象初始化

java - 对父类(super class)属性的 Hibernate 查询

c++ - Oop 中的对象作用域是什么?

javascript - 除非按下后退按钮,否则确认卸载/退出对话框?