gpt4 book ai didi

c++ - 如何避免类名和方法名重名?

转载 作者:太空宇宙 更新时间:2023-11-04 15:23:06 25 4
gpt4 key购买 nike

目前我对类名和方法名使用相同的约定。他们有一个没有前缀的前导大写字母。而且我不使用“获取”前缀来获取属性。但是,我在下面的代码中遇到了名称冲突问题

class Material
{};

class Background
{
public:
Material* Material() const {return m_material;} // Name conflict
void SetMaterial(Material* material) {m_material = material;}

private:
Material* m_material;
};

解决问题最简单的方法是什么,但要保持或对我的约定进行最少的修改?非常感谢!

最佳答案

What is the easiest way to solve the problem but keeping or with minimum modification of my conventions?

最简单的方法可能是稍微修改一下约定,例如以小写开头的方法名称。

顺便说一句,我喜欢你没有在访问器方法中使用“get”这个词。本着同样的精神,您可以在 mutator 方法中删除“set”一词(此处为 SetMaterial())。签名足以​​区分访问器和修改器。

如果您喜欢它们,您可以联系:

class Material
{};

class Background
{
public:
Material* material() const {return m_material;}
void material(Material* material) {m_material = material;}

private:
Material* m_material;
};

关于c++ - 如何避免类名和方法名重名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14593943/

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