设计模式中的名称是什么?

时间:2011-09-20 18:59:39

标签: c++ design-patterns

class MyType
{
public:
    A ( unsigned _a ) : a (_a-1)
    {

    }
    operator unsigned& () 
    {
        return a;
    }
    operator const unsigned () const
    {
        return a;
    }
    unsigned a; 
}; 

在上面的例子中,我创建了一个MyType类,它只包含一个无符号整数。

是否有MyType的设计模式名称?它是无符号整数,可以作为一个整数使用。但只是使用不同的名称

5 个答案:

答案 0 :(得分:1)

Bruce Eckel在第354页的Thinking in C++中做了类似的事情,“内置类型”段落的“构造函数”。 这样的设计可能是有用的(如布鲁斯所说),以严格控制封装类型的初始化。 但是我不知道它的名字。

答案 1 :(得分:1)

不知道设计模式名称是什么,但它有用。

如果您有一组所有实现相同成员函数的类,并且您希望以相同的方式处理它们,那么它将非常有用。其中一些类包含简单类型,如intunsigned,而其他类包含更复杂的类/结构类型。

目标是允许“盒装”原始类型像更复杂的“真实”类类型一样运行。当这些类可以全部用作模板类或函数组中的模板参数时(即,当所有类都继承相同的基接口类时),这尤其有用。

答案 2 :(得分:0)

这不是一个已知的设计模式。那段代码有什么意义?它的类型就像无符号整数一样,为什么不使用无符号整数呢?

答案 3 :(得分:0)

根本不是设计模式。 它是一个“成语”,只能在C ++中使用。 设计模式通常与语言无关,可以用支持委托/继承等基本原则的任何语言实现。

答案 4 :(得分:-2)

这根本不是设计模式,因为设计模式描述了几个类之​​间的交互,而你只有一个。