3 回答
ITMISS
TA贡献1871条经验 获得超8个赞
派生类是可以转换成基类的,因为派生类本身就带有基类的成员,所以不需要强制转换,这也是为什么派生类的指针和引用可以转换为基类的指针和引用,基类的指针和引用只能访问基类的成员,也就是向上强制类型转换。
class Player
class GamePlayer : public Player
GamePlayer* pGamePlayer=new GamePlayer();
Player* pPlayer=pGamePlayer;
但是反之则不行,因为基类的只有自己的成员,没有派生类的成员,所以向下强制类型转换是不可以的。
但是GamePlayer* pGamePlayer = (GamePlayer*)pPlayer;这种方法虽然可以编译通过,但是后期使用起来很危险,非常容易出错1
慕桂英546537
TA贡献1848条经验 获得超10个赞
如果无法理解,short (*pas)[20]=&tell
可以先拆成两句
short (*pas)[20];
pas=&tell;
类似 short (*pas)[20] 这种结构你尝试从右往左读就能明白含义~
有20个元素的数组-》指向有20个元素的数组的指针 -》元素类型为 short
那么 ,pas 就是指针,指向的是 一个有 20个 short元素的数组,
pas=&tell 就非常好理解了
使 pas指针指向 tell
- 3 回答
- 0 关注
- 234 浏览
添加回答
举报
0/150
提交
取消