((类A*)(&类B))和((类A)类B)的差别是什么?

Linux2001 2002-04-16 03:10:59
有两个类,类A和类B
class A
{
...
...
...
}

class B
{
...
...
...
}
void main()
{
A a1;
B b1;
((a1*)(&b1))的意思是什么
((a1)b1)的意思又是什么
两者有什么分别?
...全文
56 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
hongbo_liu 2002-04-17
  • 打赏
  • 举报
回复
gz
Linux2001 2002-04-17
  • 打赏
  • 举报
回复
请去看侯杰先生的深入浅出MFC第2版69页
tinytot 2002-04-17
  • 打赏
  • 举报
回复
?
Ryoko7 2002-04-17
  • 打赏
  • 举报
回复
好像不能这样用吧

((a1*)(&b1))->成员函数()
Ryoko7 2002-04-17
  • 打赏
  • 举报
回复
好像不能这样用吧

((a1*)(&b1))->成员函数()
wrenny 2002-04-17
  • 打赏
  • 举报
回复
((a1*)(&b1))->成员函数();把b1强制转换为a类型,并把a1赋值给b1;
((a1)b1)强制把b1转换为a类型
Linux2001 2002-04-16
  • 打赏
  • 举报
回复
对不起,定义出错,应该是下面这样的
A a1;
A* b1=new A;

然后才
((a1*)(&b1))->成员函数()
((a1)b1).成员函数()
rovoboy 2002-04-16
  • 打赏
  • 举报
回复
Agree 123123123(123123123)
通过指针调用时使用虚函数表的。
123123123 2002-04-16
  • 打赏
  • 举报
回复
唯一区别是虚拟表
((a1*)(&b1)) 类B的。
((a1)b1) 类A的。

gufengduyu 2002-04-16
  • 打赏
  • 举报
回复
类型强制转换
1:把B的指针转为A的指针
2:把B类转为A类
意思是这样,不过这里好象都是非法的
Linux2001 2002-04-16
  • 打赏
  • 举报
回复
当然他们是调用了成员函数了的,我没有写出来
((a1*)(&b1))->成员函数();
((a1)b1).成员函数();
这样明白了吧
prototype 2002-04-16
  • 打赏
  • 举报
回复
? both should be parse errors.

did you mean:
((A*)(&b1)) and ((A)b1)?

69,374

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧