问题列表 - 第12087页

如何确保虚方法调用一直传播到基类?

类层次结构的一个常见错误是将基类中的方法指定为虚拟,以便继承链中的所有重写都能完成某些工作,并且忘记将调用传播到基本实现.

示例场景

class Container
{
public:
  virtual void PrepareForInsertion(ObjectToInsert* pObject)
  {
    // Nothing to do here
  }
};

class SpecializedContainer : public Container
{
protected:
  virtual void PrepareForInsertion(ObjectToInsert* pObject)
  {
    // Set some property of pObject and pass on.
    Container::PrepareForInsertion(pObject);
  }
};

class MoreSpecializedContainer : public SpecializedContainer
{
protected:
  virtual void PrepareForInsertion(ObjectToInsert* pObject)
  {
    // Oops, forgot to propagate!
  }
};
Run Code Online (Sandbox Code Playgroud)

我的问题是:是否有一种好的方法/模式来确保在调用链的末尾始终调用基本实现?

我知道有两种方法可以做到这一点.

方法1

您可以使用成员变量作为标志,将其设置为虚方法的基本实现中的正确值,并在调用后检查其值.这需要使用公共非虚方法作为客户端的接口,并使虚方法受到保护(这实际上是一件好事),但它需要专门为此目的使用成员变量(需要如果虚方法必须是const,则是可变的.

class Container
{
public:
  void PrepareForInsertion(ObjectToInsert* pObject)
  {
    m_callChainCorrect = false;
    PrepareForInsertionImpl(pObject); …
Run Code Online (Sandbox Code Playgroud)

c++ virtual inheritance

14
推荐指数
4
解决办法
2333
查看次数

<div> overflow:在调整大小之前,auto不显示滚动条

我的表单上有一个看起来像这样的元素:

<div style="overflow-y:auto;overflow-x:hidden;height:100%;width:100%">
Run Code Online (Sandbox Code Playgroud)

在IE7中,当页面首次呈现时,没有滚动条.但是,如果我调整页面大小(即使只有1个像素),滚动条也会正确显示.

有什么我可以这样做,以便滚动条在页面首次显示时正确显示?

html overflow internet-explorer-7

12
推荐指数
2
解决办法
4万
查看次数

如何配置Hibernate使用SSL与数据库服务器通信?

我有一个现有的java webapp,它使用Hibernate来实现它的持久性.我被告知我必须加密与数据库加密 - 所以我的第一个想法是设置它来通过SSL进行通信 - 并通过想出如何设置Oracle来通过SSL监听JDBC -

http://www.oracle.com/technology/tech/java/sqlj_jdbc/pdf/wp-oracle-jdbc_thin_ssl_2007.pdf

并编写了一个快速测试类来验证它是否已设置并正常工作(通过标准JDBC连接).这让我遇到了配置Hibernate的问题 - 遗憾的是我没看到hibernate如何支持它?

java configuration hibernate

9
推荐指数
1
解决办法
2万
查看次数

dbo.数据库对象名称中的前缀,我可以忽略吗?

我正在寻找一个处理.dbo前缀的高性能默认策略.

我意识到dbo.前缀不仅仅是语法噪音,但是我通过过去8年的基于MS的开发跳过键入dbo.前缀并忽略其功能.

除了存储过程编译锁的性能问题,在SQLqueries和存储过程中跳过键入".dbo"还有一个缺点吗?

进一步背景:我的所有开发都是基于中间层服务帐户的集成安全性的Web中间层.

sql sql-server

14
推荐指数
2
解决办法
2万
查看次数

是否有像谷歌图表这样的SVG地图库?

我正在寻找可以按国家划分的大型世界地图.Google Charts有一个API,但它只允许您生成一个小地图(440x220像素).有谁知道用开源库生成这样的地图的方法?

javascript maps svg google-maps google-visualization

11
推荐指数
2
解决办法
9495
查看次数

如何阻止jquery UI滑块滑动到装订线之外

我使用jquery-ui滑块作为侧面滚动条,并且手柄滑到末端排水沟之外的问题(如果你将滑块向右滑动,可以看到这里).我已经尝试了所有我能用CSS思考的东西,试图让手柄没有比排水沟更进一步,但无济于事.任何建议将不胜感激.

为了澄清我正在添加以下图表来显示问题(由于句柄很小,它非常微妙,但是如果你在CSS中创建一个大句柄,那么句柄 的宽度恰好超过了排水沟的一半).

是问题的一个问题.基本上我希望手柄留在排水沟内.

alt text http://img268.imageshack.us/img268/124/examplex.png

jquery jquery-ui slider

13
推荐指数
1
解决办法
1万
查看次数

如何隐藏键盘 - UITextView iPhone - 通过返回键

在UITextView中,当我们点击它时,

出现键盘,

但是当用户按下返回键时,(通常在textView中创建一个新行)

键盘应该下降.

怎么样?

iphone uitextview iphone-softkeyboard

10
推荐指数
1
解决办法
3万
查看次数

如何在Flash中播放shoutcast无线电广播(Shoutcast Flash Player)

多年来我一直在寻找解决方案,但没有最终确凿记录.那里有许多Shoutcast Flash播放器(例如radio.de)所以我知道它是可能的.但是,我的大部分研究都是这样的:

s = new Sound();
s.loadSound ("url.of.shoutcaststream:8003",true);
Run Code Online (Sandbox Code Playgroud)

哪个适用于我在FireFox中,但不适用于IE.我不想购买组件,我想知道这些组件是如何做到的,以便我可以构建自己的自定义播放器.

flash streaming shoutcast

4
推荐指数
1
解决办法
3万
查看次数

如何在财务Matplotlib Python图中跳过空日期(周末)?

ax.plot_date((dates, dates), (highs, lows), '-')
Run Code Online (Sandbox Code Playgroud)

我目前正在使用此命令使用Matplotlib绘制金融高点和低点.它工作得很好,但是如何在没有市场数据的情况下删除x轴上的空白区域,例如周末和假日?

我有日期,高点,低点,关闭和打开的列表.我找不到任何创建带有x轴的图表的示例,该图表显示日期但不强制执行常量比例.

python graph matplotlib financial

18
推荐指数
6
解决办法
2万
查看次数

使用Thinking Sphinx Rails插件进行多关键字搜索

我正在使用sphinx搜索引擎和思考sphinx插件的rails.

我有一个工作模型,其标题属性由sphinx索引.我想搜索多个作业并捕获任何匹配1个或更多关键字的作业.

例如...

Job.search("rails,django,symfony")

...并获得一系列具有以下标题的作业对象"rails developer for hire","寻找django向导","任何人都知道symfony?"

我将这三个单独的作业存储在我的数据库中并编入索引.当我运行上面的搜索时,我得到一个空数组.当单个查询术语自行提供时,就会找到每个作业.

我宁愿不做这个Job.search"rails"Job.search"django"Job.search"symfony"

有谁知道如何将多个关键字传递给sphinx搜索引擎?

search sphinx ruby-on-rails thinking-sphinx

0
推荐指数
1
解决办法
1657
查看次数