繁体   English   中英

C ++返回子类,其中函数返回指向超类的指针

[英]c++ return subclass where function returns pointer to superclass

我是C ++的新手。 我附上了我所拥有的uml图,我的问题是返回一个定义为超类的类,但实际上我将返回一个扩展它的类。

在uml图中,所讨论的超类是Booking,子类Single和Sharing对其进行扩展。 我在BookList类中有一个功能addBooking([...]),这就是我的问题所在。 在此处输入图片说明

我定义了Booking,然后定义了另外两个子类,将其扩展为Single和Sharing。 我的问题是,我可以在BookingList.addBooking([....])函数中返回Single或Sharing类吗? 我的两个子类都初始化超类,例如Single如下初始化它:

Single::Single(Person c, QDate a, QDate d, Person g): Booking(c, a, d){[...]}

是的你可以。 Single和Sharing属于Booking类型,因此返回指向Single实例或Sharing实例的指针作为Booking类型实例的指针是完全合法的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM