gpt4 book ai didi

c++ - 是否可以在没有子类化的情况下向类添加一些功能?

转载 作者:太空狗 更新时间:2023-10-29 23:34:26 24 4
gpt4 key购买 nike

在 Ojective-C 中有一个叫做 Categories 的东西,它允许用户从原始 .h 或 .m 文件(objective-c 的 .cpp 版本)之外添加方法我想知道C++中是否存在这样的功能?

我特别想要实现 << 运算符用于调试,也许还有我经常使用的库中的其他类。 (并且不想使用宏,因为它看起来很难看;))

谢谢。

最佳答案

您总是可以在类之外重载运算符。

std::ostream& operator<< (std::ostream& f, const YourClass& cls) {
...
}

如果它需要访问 YourClass 的私有(private)成员,您仍然需要好友该函数。

(但不可能像 Objective-C 那样定义普通的成员函数。)

关于c++ - 是否可以在没有子类化的情况下向类添加一些功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3870863/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com