MST

星途 面试题库

面试题:C++模板类派生新类的基础形式

请编写一个C++程序,定义一个模板类`BaseTemplate`,包含一个模板类型的成员变量。然后从`BaseTemplate`派生一个新类`DerivedClass`,在`DerivedClass`中添加一个新的成员函数,该函数返回`BaseTemplate`中成员变量的平方值。
40.2万 热度难度
编程语言C++

知识考点

AI 面试

面试题答案

一键面试
#include <iostream>

// 定义模板类BaseTemplate
template<typename T>
class BaseTemplate {
public:
    T data;
    BaseTemplate(T value) : data(value) {}
};

// 从BaseTemplate派生新类DerivedClass
template<typename T>
class DerivedClass : public BaseTemplate<T> {
public:
    DerivedClass(T value) : BaseTemplate<T>(value) {}
    T square() {
        return this->data * this->data;
    }
};

你可以使用以下方式测试这个类:

int main() {
    DerivedClass<int> obj(5);
    std::cout << "平方值: " << obj.square() << std::endl;
    return 0;
}