编程语言
首页 > 编程语言> > c++关于

c++关于

作者:互联网

关于c++模板的类函数的具体实现要怎么写:

这里给大家看两个例子:

1 template<typename abc,class c>
2 class buffer{
3 public:
4     buffer(abc fi,abc last);
5     void print(abc);
6 };

我要实现这里的构造函数,要怎么写呢?

template<typename abc,class c>
buffer<abc,c>::buffer(abc fi, abc last) {
    std::cout<<fi<<std::endl;
}

可以看到上面的template后面的要和类原型的一致,buffer后面尖括号里面要写和template声明的一致,要不然会报无法匹配模板之类的。

第二个例子

template<int abc,int c>
class buffer1{
public:
    void print();
};

实现print函数

template<int abc,int c>
void buffer1<abc,c>::print(){

}

这么写才是正确的,buffer1后面的要传入template声明的变量,不是<int,int>这样的写法。

所以经过这两个例子,我理解到重写类的函数尖括号里面是传参,是模板到类内的传参,像是括号内形参作用一样

标签:abc,buffer,void,c++,关于,template,print,buffer1
来源: https://www.cnblogs.com/yanzhao-x/p/16368201.html