首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >关于c++中抽象基类的问题

关于c++中抽象基类的问题
EN

Stack Overflow用户
提问于 2011-02-22 05:28:40
回答 4查看 184关注 0票数 0

假设类stringGetter恰好包含一个纯虚函数:重载的参数运算符string运算符()(Int)。另外,假设类getPageString是实现stringGetter ()的公共运算符。

下列哪些C++语句肯定会导致编译器错误?

代码语言:javascript
运行
复制
(a) stringGetter * a = new stringGetter;
(b) stringGetter * a = new getPageString;
(c) stringGetter * a;
getPageString * b = new getPageString;
a=b
(d) Exactly two of these will result in a compiler error.
(e) It is possible that none of these will result in a compiler error.

我对抽象基类有点模糊,而且我在网上找不到像下面这样做任务的好例子。我喜欢在这里问一些关于这类东西的问题,因为我经常会学到更多我甚至不打算学的东西。我甚至不能猜测其中哪一个会导致编译器错误。有没有人可以通过a-c来告诉我为什么它会导致编译器错误?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-02-22 05:33:15

(a)结果编译器错误,因为无法为抽象类创建实例。

票数 8
EN

Stack Overflow用户

发布于 2011-02-22 05:38:39

你不能有抽象类的实例,这就排除了(a)。选项(c)只是做(b)的一种更困难的方式。

票数 1
EN

Stack Overflow用户

发布于 2011-02-22 05:37:57

(a) -抽象类(new stringGetter)的实际实例化只在那里发生。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5071482

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档