gpt4 book ai didi

c++ - 我如何构建我的 C++ 代码,以便我只编写一次常用方法?

转载 作者:行者123 更新时间:2023-11-30 03:08:01 25 4
gpt4 key购买 nike

如果 C++.NET 允许多重继承,我会将常用方法放在一个类中并从中派生。

我有派生自 Panel、Label、TabControl 的类......它们具有完全相同的方法。

如何构造我的 C++ 代码,以便只编写一次常用方法?

这是我要添加到每个派生类的属性的一个简单示例。扩展方法听起来很理想,但在 C++ 中并不存在。

private: int panelBottomMargin;
public:
[Browsable(true)]
[CategoryAttribute("Layout"), DescriptionAttribute(
"Specify the gap between the last control and the bottom of the panel"),
DefaultValueAttribute(panelBottomMarginDefault)]
[DesignerSerializationVisibility(DesignerSerializationVisibility::Visible)]
property int PanelBottomMargin
{
int get() { return this->panelBottomMargin; }
void set(int margin) { this->panelBottomMargin = margin; }
}

最佳答案

我不能完全弄清楚你在这里所说的“通用方法”是什么意思,但一般来说命名空间级别的非成员函数是最好的方法(参见标准库中的几乎所有算法)。

如果它确实需要访问您的类的私有(private)属性,那么它可能不是一个通用方法,应该在它所操作的属性存在的继承级别中实现。

几乎可以肯定的是,将通用方法放入您随后从中继承的类中是对继承的滥用:使用继承来扩展,而不是重用。

关于c++ - 我如何构建我的 C++ 代码,以便我只编写一次常用方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5412873/

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