admin 管理员组

文章数量: 1184232


2023年12月25日发(作者:手机html查看器怎么取消默认)

c++ 类模板 虚函数

在C++中,类模板是一种通用性较强的模板,可以用来生成不同类型的类。类模板中可以定义虚函数,通过继承实现多态。在类模板中定义虚函数时,需要注意以下几点:

1. 虚函数必须在类模板中进行定义,不能在类模板外进行定义。

2. 虚函数的实现必须和类模板的实现一样,即在头文件中进行定义。

3. 派生类必须明确指定模板参数,以便编译器可以正确地识别虚函数的实现。

例如:

```

template

class Base {

public:

virtual void f() {

cout << 'Base::f()' << endl;

}

};

template

class Derived : public Base {

public:

void f() {

- 1 -

cout << 'Derived::f()' << endl;

}

};

int main() {

Base* p = new Derived();

p->f(); // 输出'Derived::f()'

delete p;

return 0;

}

```

在上述代码中,类模板Base中定义了一个虚函数f(),派生类Derived中重新实现了这个虚函数。在main函数中,通过指针p调用虚函数f(),输出结果为'Derived::f()'。由此可见,类模板中的虚函数同样可以实现多态。

- 2 -


本文标签: 模板 函数 定义 实现