class TestPtr : protected QSharedPointer<Test>
其中
Test
是抽象接口(interface)类。TestPtr
类应充当智能指针类。这是否意味着
TestPtr
类是从Test
类派生的?类测试是否包含在智能指针中?我读到
QSharedPointer
是模板类。有人可以澄清一下吗? 最佳答案
并不意味着
TestPtr
源自Test
,但不是。 class Test
包含在一个智能指针中(但是很接近:这意味着TestPtr
实例实际上将是Test
的智能指针,除非TestPtr
的作者明确选择这样做,否则不让世界知道它)。是什么意思
这意味着
TestPtr
想要实现指向Test
的智能指针的功能(这就是QSharedPointer<Test>
的含义-请注意,我不知道QSharedPointer
到底是做什么的,我只是在“读取名称中的内容”)。为此,
TestPtr
的作者计划广泛使用QSharedPointer
内部作品中内置的功能(这就是TestPtr
继承而不是拥有QSharedPointer
成员的原因-以便能够使用protected
的QSharedPointer
成员)。但是,即使类具有大致相同的功能,作者也计划将
TestPtr
设置为而不是等效于QSharedPointer<TestPtr>
(我们不知道使用给定信息的原因)。这就是为什么继承不是public
的原因。关于c++ - 请解释这个表达,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5357422/