永发信息网

C++中如何用一种结构存储基类的多种派生类型,并可以方便访问

答案:2  悬赏:40  手机版
解决时间 2021-02-22 10:31
c++中,A是基类,B,C,D是A的PUBLIC派生类,我想把B,C,D存在一个vector中,我用vector vec来存储基类的指针实现的,当从vec中读取指针值的时候必须得判断是B,C,D哪种类型,类型转化后才能访问B,C,D。请问高手有没有一个更好的方法来存储基类的不同派生类,并且可以方便的访问派生类。请高手指教。
最佳答案
你这样用派生类只是搞得更复杂了,一点也没有起到应有的作用。
既然B,C,D都是派生自A的话,那么你访问它们时就应该使它们尽量具有相同的接口,并且将这个接口的类A中声明为虚函数,这样你访问接口程序会自动根据对象的类型来确定访问哪个函数而无视指针的类型。假如你要单独访问B,C,D中的成员变量,并且这些变量名字之类都不一样,建议你趁早别弄什么派生了,因为它们之间一点共同点也没有你让它们派生什么呢?
全部回答
我不会~~~但还是要微笑~~~:)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
甘勐金腊小学地址在什么地方,想过去办事
怎么才能使手变的美白细嫩?
被炒鱿鱼的小女孩阅读答案?
加法的意义
描写夏天的句子古风或者
vivox5sl手机,怎么样把解锁壁纸删了,用主题自
宝康宠物地址有知道的么?有点事想过去
在正确处理尊重父母与对父母正当规劝、批评的
西安蓝艺学校怎么样播音编导专业?
光动力疗法的各种光分别是什么作用
洛阳诚展商贸有限公司地址在哪,我要去那里办
给好友充黄钻QQ的交易明细
园林绿化中常用到的乔木苗木有哪些
请根据意思和举例,写四字成语。(1)指恭敬
功夫一般《猜福建地名》,1
推荐资讯
沈家寨在什么地方啊,我要过去处理事情
我去了诊所弄了痘痘快一个月了。是用针扎还有
一块体积为100厘米的冰块熔化成水后,体积多
西州大门义乌总经销地址在什么地方,想过去办
射手男 贪玩说不想结婚 也不准备再谈恋爱了
昂科拉保养归零
余切值是什么意思?
委托人去公证处公证
求一首类似Hans Zimmer的《Honor》的纯音乐
问道元婴和血婴是什么意思?
本田汽修在什么地方啊,我要过去处理事情
寓意最好的男孩名字
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?