c_cpp C ++中的小型多态系统
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp C ++中的小型多态系统相关的知识,希望对你有一定的参考价值。
#include <iostream>
// Sample abstract object tree implementation
// Type class
struct LangType
{
enum Type
{
Type_int,
Type_add
};
};
// Base Object Class
class LangObject : protected LangType
{
public:
LangType::Type getType(void) const
{
return _type;
}
void setType(LangType::Type type)
{
_type = type;
}
//virtual void operator()();
private:
LangType::Type _type;
};
// Smart ptr-like class that holds a Lang Object ptr
class LangPtr
{
private:
LangObject* _data;
};
class LangInt : public LangObject
{
public:
LangInt(int num = 0): _int(num)
{
setType(LangType::Type_int);
}
~LangInt()
{}
int getInt(void) const
{
return _int;
}
private:
int _int;
};
int main(int argc, char const *argv[])
{
LangInt* test = new LangInt(5);
LangObject* parent = test;
std::cout << parent->getType() << std::endl;
LangInt* newtest = static_cast<LangInt*>(parent);
std::cout << newtest->getInt() << std::endl;
delete test;
return 0;
}
以上是关于c_cpp C ++中的小型多态系统的主要内容,如果未能解决你的问题,请参考以下文章
c_cpp C中的多态,虚函数和继承
c_cpp C中的小型随机字符串生成器
c_cpp 读取文件中的所有字节 - 来自“Linux系统编程”一书
类 C 语言中的返回类型多态性
整理uclibc,eglibc,glibc之间的区别和联系
C++--多态