猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
如下C++ 关于指针的一些问题,求指教
有
short tell[20];
则
short (*pas)[20]=&tell
怎么解释?
qq_花开花谢_0
浏览 235
回答 3
3回答
ITMISS
派生类是可以转换成基类的,因为派生类本身就带有基类的成员,所以不需要强制转换,这也是为什么派生类的指针和引用可以转换为基类的指针和引用,基类的指针和引用只能访问基类的成员,也就是向上强制类型转换。class Playerclass GamePlayer : public PlayerGamePlayer* pGamePlayer=new GamePlayer();Player* pPlayer=pGamePlayer;但是反之则不行,因为基类的只有自己的成员,没有派生类的成员,所以向下强制类型转换是不可以的。但是GamePlayer* pGamePlayer = (GamePlayer*)pPlayer;这种方法虽然可以编译通过,但是后期使用起来很危险,非常容易出错1
0
0
0
慕桂英546537
如果无法理解,short (*pas)[20]=&tell可以先拆成两句short (*pas)[20];pas=&tell;类似 short (*pas)[20] 这种结构你尝试从右往左读就能明白含义~有20个元素的数组-》指向有20个元素的数组的指针 -》元素类型为 short那么 ,pas 就是指针,指向的是 一个有 20个 short元素的数组,pas=&tell 就非常好理解了使 pas指针指向 tell
0
0
0
慕森卡
short tell[20]; 定义的是一个数组short (*pas)[20]定义的是一个指针,这个指针的类型是有20个元素的short数组
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
C++
typedef入门问题
1 回答
C#
typedef入门问题
1 回答
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续