class A//abstract(抽象类)class
{...}
class B:public A
{...}
class C:public A
{...}main
{
A* aA[3];
aA[0] = new B;
aA[1] = new C;
aA[2] = new C;for(int i= 0;i<3;i++)
{
A* pA;
pA = aA[i];//问题???????????????
//如何知道pA所指的对象是B还是C}}
解决方案 »
- 如何获取编辑框CRichEditCtrl 或者CEditCtrl一行文本的高度(不只是是字体的高度LOGFONT.lfHeight,还要有半个行间距的样子) 或者编辑框的逻辑区域CRect
- 指针的问题
- 做过安装软件的老大们进来帮忙看看啊!(关于重新起动后执行的安装动作)
- 如何使用picture根据我的yuv数据画图?
- 请问。。。。
- 程序编译问题
- 请问vc的数据库编程,其where子句带变量时,语法如何?
- 菜鸟提问 wizard生成的框架程序中菜单的消息响应在哪里?
- 请大家帮忙,我在CListCtrl控件上单击右键如何得到行的索引值.
- 请问如何编程实现打开ODBC窗口和DataLink窗口并返回连接字符串????
- SDK中如何固定窗口呀
- 如何做一个在后台一直运行的dll,直到装载它的进程退出。
那么只要对象调用这个函数不就可以知道类了吗?
1,有没有更好的解决办法?c++语言本身有没有提供这种功能?
2,typeid()可以得到 类变量的类型,
但是好像不可以得到 类指针变量的类型?(typeid()关于指针的用法是什么样?)
我以前用的死办法~~
在 A中添加一保护成员 int m;在B的构造中写 m=0;
在C的构造中写 m=1;
RUNtime_CLass
getClassName
之类
不过我觉得行不通
pB = dynamic_cast<B*>(aA[i]);
if(pB != NULL) // 是B类型