10.12hw

cpp 复制代码
#include <iostream>

using namespace std;
class Animal
{
private:
    string name;
public:
    Animal() {}
    Animal(string name):name(name){}
    virtual void perform()=0;
    void show()
    {
        cout << name << ":" ;
    }
};
template <typename T>
class Action:Animal
{
private:
    T action;
public:
    Action() {}
    Action(string name,T action):Animal(name),action(action)
    {}
    void perform()
    {
        Animal::show();
        cout << action << endl;
    }
};
int main()
{
    Action<string> a("dog","wang");
    Action<string> b("cat","miao");
    Action<string> c("cow","mou");
    a.perform();
    b.perform();
    c.perform();
    return 0;
}
相关推荐
丑八怪大丑1 分钟前
Java面向对象(进阶)
java·开发语言
java1234_小锋6 分钟前
Java高频面试题:Java中变量和常量有什么区别?
java·开发语言·面试
D_evil__11 分钟前
【Effective Modern C++】第五章 右值引用、移动语义和完美转发:28. 理解引用折叠
c++
enjoy嚣士31 分钟前
Java 之 实现C++库函数等价函数遇到的问题
java·开发语言·c++
毕设源码-郭学长35 分钟前
【开题答辩全过程】以 基于java的停车管理系统的设计与实为例,包含答辩的问题和答案
java·开发语言
MaoziShan36 分钟前
CMU Subword Modeling | 09 Lexemes, or What Dictionaries Know about Morphology
开发语言·人工智能·机器学习·语言模型·自然语言处理·c#
代码栈上的思考42 分钟前
双指针法:从三道经典题看双指针的核心思想
数据结构·算法
柴郡猫乐园1 小时前
JDK中一个单例模式的实现
java·开发语言·单例模式
闻哥1 小时前
ConcurrentHashMap 1.7 源码深度解析:分段锁的设计与实现
java·开发语言·jvm·spring boot·面试·jdk·hash
J-TS1 小时前
线性自抗扰控制LADRC
c语言·人工智能·stm32·单片机·算法