rtti.cpp
来自「候老师讲的RTTI 资源难得 希望大家喜欢」· C++ 代码 · 共 78 行
CPP
78 行
// RTTI.cpp - a demonstration of RTTI in C++
#include <typeinfo.h>
#include <iostream.h>
#include <string.h>
class graphicImage
{
protected:
char name[80];
public:
graphicImage()
{
strcpy(name,"graphicImage");
}
virtual void display()
{
cout << "Display a generic image." << endl;
}
char* getName()
{
return name;
}
};
//----------------------------------------------------------------
class GIFimage : public graphicImage
{
public:
GIFimage()
{
strcpy(name,"GIFimage");
}
void display()
{
cout << "Display a GIF file." << endl;
}
};
class PICTimage : public graphicImage
{
public:
PICTimage()
{
strcpy(name,"PICTimage");
}
void display()
{
cout << "Display a PICT file." << endl;
}
};
//----------------------------------------------------------------
void processFile(graphicImage *type)
{
if (typeid(GIFimage) == typeid(*type))
{
((GIFimage *)type)->display();
}
else if (typeid(PICTimage) == typeid(*type))
{
((PICTimage *)type)->display();
}
else
cout << "Unknown type! " << (typeid(*type)).name() << endl;
}
void main()
{
graphicImage *gImage = new GIFimage();
graphicImage *pImage = new PICTimage();
//processFile(gImage);
//processFile(pImage);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?