腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
2
回答
初始化
派生类
虚
函数
返回
的
内联
静态
变量
的
最佳
方法
、
、
、
最初,我将m_damage作为基类Projectile中
的
类成员,在每个
派生类
中分配
初始化
器列表中
的
值,并在基类中使用单个getter
函数
。但是后来我意识到我不需要每个
派生类
的
实例都持有m_damage
的
副本,因为每个
派生类
的
所有实例都有相同
的
值,所以我需要使值为static,并让每个
派生类
在virtual
函数
重写中
返回
它。在网上和这里研究过后,
浏览 30
提问于2020-04-24
得票数 2
回答已采纳
2
回答
实现从基类派生
的
虚
方法
、
、
、
我有一个带有
虚
方法
的
抽象基类。在
派生类
中,实现了此
方法
。但是,我希望
派生类
中
的
函数
作为
静态
方法
,以便能够在不实例化该类
的
对象
的
情况下调用
函数
。}; {}; 本质上,Derived1和Derived2提供了
静态
<e
浏览 0
提问于2013-08-29
得票数 1
6
回答
不能重写
派生类
中
的
静态
初始化
、
、
我试图为层次结构中
的
类提供不同
的
静态
初始化
,但当我尝试使用以下代码时:static const::componentName’似乎不能在
派生类
上重写
静态
初始化
如果这不起作用,我可能总是将c
浏览 0
提问于2010-11-22
得票数 5
回答已采纳
4
回答
如何让C++与DRY很好地配合?
、
在C++中,如果我们在某个基类(比如Base)中有一些
虚
函数
,我们想要覆盖这个
虚
函数
,我们将不得不再次声明这个
虚
函数
,以使它在我们
的
派生类
中甚至在编译时也能工作。此外,既然头文件用于公共接口定义,并且使用此接口
的
用户根本不需要关心它们,为什么有必要在头文件中声明一些受保护
的
或私有的
函数
呢?也许我们可以直接在.cpp文件中实现和声明私有或受保护
的
函数
,就像Objec
浏览 0
提问于2013-07-23
得票数 2
回答已采纳
1
回答
C++ |重用基类
的
受保护成员
、
假设我有一个基类和
派生类
: private: protected: publicI am redeclaring this var //methods which use我
的
问题是:在Derived类
的
方法
中,是否使用了_protectedIntPt
浏览 0
提问于2012-07-10
得票数 1
回答已采纳
2
回答
头文件与源/实现文件中关键字包含
的
C++“规则”
、
、
、
老实说,我对头文件中
函数
(有时是数据成员)声明中
的
关键字和实现文件中
的
关键字之间产生了混淆。(按意见更新) 公共/私有/保护通常出现在头文件中“
静态
”通常出现在头文件中,而不是实现文件中。你还有其他我可以遵循
的
规则吗
浏览 3
提问于2013-03-01
得票数 1
6
回答
如何调用未完全构造
的
对象
的
函数
?
、
使用构造
函数
创建对象,并调用正在构造
的
对象
的
函数
:{ A() this->show();};int main() A a; cin>>xy;} 我
的
疑问是,当我使用构造
函数
创建对象时,当对象没有完全构造时,我如何能够调用对象
函数</
浏览 0
提问于2011-09-13
得票数 2
7
回答
静态
方法
继承
的
正确替代方案是什么?
、
、
、
我知道在C#中不支持
静态
方法
继承。我还读到了许多讨论(包括这里),其中开发人员声称需要此功能,对此
的
典型响应是“如果您需要
静态
成员继承,则您
的
设计中存在缺陷”。好吧,考虑到OOP甚至不希望我考虑
静态
继承,我必须得出结论,我对
静态
继承
的
明显需求指出了我
的
设计中
的
一个错误。但是,我被卡住了。如果你能帮我解决这个问题,我会非常感激。这就是挑战。我想创建一个抽象基类(让我们称之为Fruit),它封装了一些复杂
的</e
浏览 2
提问于2009-09-04
得票数 86
回答已采纳
1
回答
静态
局部
变量
中
的
竞赛条件
、
、
、
、
我目前正在阅读有效
的
C++。有一节是关于使用
静态
局部
变量
的
,它说,如果多个线程访问一个
静态
变量
,那么在该
变量
的
初始化
过程中可能会出现争用条件。例如,在
静态
变量
初始化
期间,此代码是否具有争用条件?也就是说,它
浏览 3
提问于2014-05-25
得票数 7
回答已采纳
5
回答
C++:构造
派生类
时自动运行
函数
、
、
、
因此,我最近意外地从基类
的
构造
函数
中调用了一些
虚
函数
,即。 我意识到我不应该这样做,因为虚拟
函数
的
覆盖将不会被调用,但我如何实现一些类似的功能?我
的
用例是,每当构造一个对象时,我希望运行一个特定
的
函数
,我不希望编写
派生类
的人不得不担心这是做什么(因为他们当然可以在他们
的
派生类
构造
函数
中调用这个东西)。但是,需要依次调用
的
函数
恰好
浏览 0
提问于2016-02-27
得票数 5
2
回答
通过基类
的
容器访问
派生类
唯一
变量
的
最佳
方法
所以我有一个指向基类
的
指针向量,它用来保存
派生类
的
所有实例。void DoSomething(); 这些东西被存储在里面:问题是,访问只存在于派生中
的
浮点
变量
"y“
的
最佳
方式是什么?我可以在Base中有一个
虚
函数
,它在Derived中指定以
返回
一个
变量
,其中access如
浏览 0
提问于2011-07-15
得票数 0
回答已采纳
2
回答
从C#中
的
构造
函数
调用实例
方法
、
、
、
我有一个相当长
的
构造
函数
,它执行各种
初始化
工作,因此我想将其中
的
一些工作分解到一些
函数
中。这让我想知道我是应该让上述
函数
成为实例还是
静态
方法
。我知道从构造
函数
调用
虚
函数
的
风险,但我也认为在未100%实例化
的
对象上调用实例
方法
是不正确
的
。当然,这在术语上是矛盾
的
。 我对人们对这件事
的
看法很感兴趣
浏览 0
提问于2011-10-14
得票数 5
5
回答
关于重新定义成员
函数
的
小问题
我正在尝试从父
函数
的
定义中重新定义两个成员
函数
。protected:};我可以用一个例子来说明如何正确地
初始化
编辑2:CheckingAccount::CheckingAccount(double initBal, double
浏览 0
提问于2009-12-07
得票数 0
回答已采纳
4
回答
如何在
派生类
上强制使用
静态
成员?
、
、
、
Primitive通过纯
虚
函数
在其子类上强制执行一些功能,例如intersect()。intersect
的
计算依赖于实例数据,因此将其作为成员
方法
是有意义
的
。我
的
问题出现在以下方面:我希望每个派生实例都能够识别其类型,比如通过std::string type()成员
方法
。由于同一类
的
所有实例都将
返回
相同
的
类型,因此将type()设置为static
方法
是有意义
的
。因为我也希望每个Pr
浏览 0
提问于2012-05-08
得票数 6
回答已采纳
4
回答
什么时候为一个类创建v-table?
、
、
我知道,如何实现
虚
函数
调用解析不是C++标准
的
一部分,也没有任何关于vptr或v-table
的
内容,但让我在这里提出这个问题。我想知道
的
是,v-table是什么时候为类创建
的
? 是第一次在进程空间中创建给定类型(需要v-table)
的
类吗?该进程空间中该类型
的
所有其他
浏览 5
提问于2010-11-22
得票数 4
回答已采纳
4
回答
C++继承问题编辑:更多麻烦
、
MH_DQ处理消息并将结果放入双队列中,而MH_CB处理消息,然后执行回调
函数
。 基类有一个
静态
回调
函数
,我将该
函数
与一个this指针一起传递给一个库,当有新消息可供处理时,该库将调用
静态
回调。如果我将它强制转换为基类,则空
的
MessageHandler::handleMessage(...)
方法
,而不是相应
派生类
中
的
版本。从设计
的
角度来看,解决这种情况
的
最佳
方法
浏览 0
提问于2010-06-02
得票数 2
4
回答
虚拟班级问题
、
、
、
我对
虚
类
的
看法是,如果一个
派生类
有一个公共基类,比如说基类,那么指向
派生类
的
指针可以被赋值给类型为指向基类
的
变量
,而不需要使用任何显式
的
类型转换。但是,如果我们在基类中,那么我们如何调用
派生类
的
函数
呢?);}当我调用Direct类
浏览 0
提问于2010-05-03
得票数 0
回答已采纳
5
回答
用不同
的
返回
类型重写成员
函数
、
、
、
}; { bptr->func(); }我相信,为了重写一个
函数
,基类
虚
方法
需要在
派生类
中重新定义。要重新定义
方法
,
方法</e
浏览 3
提问于2012-01-23
得票数 27
回答已采纳
7
回答
c++中
的
静态
虚
函数
、
、
、
、
我有一个基类和一个
派生类
,我想更改基
函数
,同时保持它们是
静态
的
,因为它们应该作为
静态
传递给其他
函数
。 我该怎么做呢?
浏览 0
提问于2011-06-09
得票数 12
2
回答
虚
方法
覆盖C# -为什么这不会导致无限递归?
、
、
我正在看我们代码库中
的
一些代码,我无法理解这是如何/为什么工作
的
(并且不会因为无限递归而导致堆栈溢出)。我在下面粘贴了一些等效
的
代码:我们有一个在类P1中定义并在类P2中被覆盖
的
虚
方法
Foo(B)。但是,输出是: P2::Foo Virtual P2::Foo Private Non-Virtual 看起来在覆盖
的
方法
中对Foo
的
第二个调用是在本例中选择非虚
方法
Foo。1.为什么原始
的
<e
浏览 1
提问于2012-09-12
得票数 13
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
掌握这些技巧,让你的程序性能和可维护性双双提升!
结构体对齐,字节对齐
计算机等级考试二级C+全攻略
C+:05-class和struct
手把手教你:如何把C+的源程序改写成C语言
热门
标签
更多标签
云服务器
ICP备案
实时音视频
对象存储
即时通信 IM
活动推荐
运营活动
广告
关闭
领券