Fortran Coder

楼主: lookbook
打印 上一主题 下一主题

[面向对象] 一个新手村的问题

[复制链接]

79

帖子

17

主题

0

精华

专家

齊天大聖

F 币
433 元
贡献
266 点
跳转到指定楼层
楼主
发表于 2019-1-9 22:14:50 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
问题 1:

如果有个父类里面有个member:: x(2),可以表示2维的点。

那我可不可以通过改变它的维数来进行继承,例如改成 x(3),来表示一个3维的点。

而不是教科书上所写的那样,先有 real :: x,y
再继承的时候扩充为 x,y,z

问题 2:
如果已经有一个父类了,


那有继承关系的子类能不能是该父类数据类型的数组?


例如:父类是2d的点,
子类是一堆2d的点。


在下小白,写过一点code,但远远感觉火候未到,十分力不从心,特别是继承这块,还望各位大大海涵。


分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

79

帖子

17

主题

0

精华

专家

齊天大聖

F 币
433 元
贡献
266 点
沙发
 楼主| 发表于 2019-1-10 14:59:48 | 显示全部楼层
请问C++中是否可以实现

79

帖子

17

主题

0

精华

专家

齊天大聖

F 币
433 元
贡献
266 点
板凳
 楼主| 发表于 2019-1-11 15:04:30 | 显示全部楼层
li913 发表于 2019-1-10 20:44
1、可以用带参数的type实现,或者把x定义为动态数组;
2、子类必定包含父类的元素(例如下图中的x,y),所 ...

2里面的方法我想到了,但总感觉不够“美”,总觉得里面的x,y是多余的。
1里面的方法很妙啊!不过现在的gf好像对含参的type支持的不是很好。

79

帖子

17

主题

0

精华

专家

齊天大聖

F 币
433 元
贡献
266 点
地板
 楼主| 发表于 2019-1-11 15:28:55 | 显示全部楼层
li913 发表于 2019-1-10 20:44
1、可以用带参数的type实现,或者把x定义为动态数组;
2、子类必定包含父类的元素(例如下图中的x,y),所 ...

我又想了下,感觉使用含参数的类可能会在“+,-,*,/,=“这些函数上出现问题吧。

79

帖子

17

主题

0

精华

专家

齊天大聖

F 币
433 元
贡献
266 点
5#
 楼主| 发表于 2019-1-12 20:39:50 | 显示全部楼层
li913 发表于 2019-1-11 20:03
1、我感觉带参数的type不好用;2、建议使用数组指针x,由x的元素个数确定是2D还是3D;
3、type的 + - * /  ...

大佬,数组指针怎么说,不太明白

79

帖子

17

主题

0

精华

专家

齊天大聖

F 币
433 元
贡献
266 点
6#
 楼主| 发表于 2019-1-20 14:25:07 | 显示全部楼层
pasuka 发表于 2019-1-20 09:11
问题1:为啥不考虑模板呢?
譬如:https://github.com/alexispaz/FortranTemplates

fortran也有模板!
666
谢谢大佬!
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-6 12:08

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表