返回信息流class A
{
public:
void virtual f()
{
cout << "A" << endl;
}
};
class B :public A
{
public:
void virtual f()
{
cout << "B" << endl;
}
};
int main()
{
A *pa = new A();
pa->f();
B* pb = (B*) pa; //这里pa的指针指向不变,pb指向了pa所指向的对象,但为何不A* pb = pa好了
}
这是一条镜像帖。来源:北邮人论坛 / cpp / #88392同步于 2015/8/25
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
指针问题
pingguokaile
2015/8/25镜像同步4 回复
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
如果你不是在逗我,确实是初学,那就老老实实从基础学起,看看《C++ Primer》或者更简单的书,先不要玩派生类指针指向基类对象之类的玩意了,多态会麻烦一些。
【 在 pingguokaile 的大作中提到: 】
: 恩,求解!
如果以前没有学过编程的话,学Java吧。在Java里犯错误,一般都是明确地报错,比如像你这样转换类型,用java的话会在运行时报错的。C++里犯错误可以发生任何事情,有时候,尤其是有关指针的时候,往往没有任何错误信息,或者不声不响地崩溃掉。