C++ and Java template class and function 模板类和模板函数

在C++和Java的泛式编程中,模板template的使用是必不可少的,但是Java中没有template关键字,所以两者的写法还是有些许区别的,请参见如下代码:

Java的模板

// Java
public class Cell<K, V> {
    private K _key;
    private V _value;
    public Cell(K k, V v) {
        _key = k;
        _value = v;
    }
    public boolean equivalent(Cell<K, V> c) {
        return equivalent(c.getKey());
    }
    public boolean equivalent(K k) {
        return key.equals(k);
    }
    public K getKey() { return _key; }
    public V getValue() { return _value; }
}

C++的模板

// C++
template<typename K, typename V>
class Cell{
public:
    Cell(K k, V v): _key(k), _value(v) {}
    bool equivalent(Cell *c) {
        return equivalent(c->getKey());
    }
    bool equivalent(K k) {
        return _key.equals(k);
    }
    K getKey() { return _key; }
    V getValue() { return _value; }

private:
    K _key;
    V _value;
};

本文转自博客园Grandyang的博客,原文链接:模板类和模板函数C++ and Java template class and function ,如需转载请自行联系原博主。

上一篇:关于C++编译链接和模板函数


下一篇:重磅首发|如何构建Flutter企业级应用开发?闲鱼技术实战白皮书帮我解答