问题列表 - 第20232页

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

如何在PHP中向对象添加方法?

我有一个面向对象的库我想添加一个方法,虽然我很确定我可以进入该库的源并添加它,我想这就是通常所说的坏主意.

我如何正确地将自己的方法添加到PHP对象?

更新 **编辑**

我试图添加一个方法的库是simpleHTML,没什么特别的,只是一种提高可读性的方法.所以我尝试添加到我的代码中:

class simpleHTMLDOM extends simple_html_dom {
  public function remove_node() {
    $this->outertext = "";
  }
}
Run Code Online (Sandbox Code Playgroud)

这让我:Fatal error: Call to undefined method simple_html_dom_node::remove_node().很明显,当你在simpleHTML中获取一个元素时,它返回一个类型为simple_html_dom_node的对象.

如果我将方法添加到simple_html_dom_node我的子类不是由simpleHTML创建的...那么坚持下一步去哪里.

php oop class

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

使用C++子类实例作为默认参数?

所以我有几个类定义:

class StatLogger {
public:
  StatLogger();
 ~StatLogger();

  bool open(<parameters>);

private:
  <minutiae>
};
Run Code Online (Sandbox Code Playgroud)

并且从它下降的子类实现一个空对象模式(未打开它是它自己的空对象)

class NullStatLogger : public StatLogger {
public:
   NullStatLogger() : StatLogger() {}
};
Run Code Online (Sandbox Code Playgroud)

然后我有第三个类,我想在其构造函数中采用可选的logger实例:

class ThirdClass {
public:
  ThirdClass(StatLogger& logger=NullStatLogger());
};
Run Code Online (Sandbox Code Playgroud)

我的问题是,当我按上述方式执行时,我得到:

错误:"StatLogger&"类型参数的默认参数类型为"NullStatLogger"

如果我在定义中放置一个显式的强制转换,我得到:

错误:没有用于调用'StatLogger :: StatLogger(NullStatLogger)的匹配函数

抱怨没有来自NullStatLogger的构造函数,即使它是子类.我在这里做错了什么,这在C++中是否允许?

c++ parameters inheritance default

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

如何用java将图像分成两部分

我想知道是否存在基于某些特征分割图像的"智能"方式.

图像是300x57,黑色和白色(实际上是灰度,但大多数颜色是黑色或白色),它由两个主要特征(让我们称之为斑点)组成,由黑色空间分隔,每个斑点的宽度和高度略有不同,斑点的位置也各不相同,斑点永远不会重叠!

这是图像"看起来"的样子:

-------------------------
----WWW---------WWWWW----
---WWWWWWW----WWWWWW-----
-----WWWW-------WWW------
-------------------------
Run Code Online (Sandbox Code Playgroud)

由此产生的分裂将是这样的:

------------     -------------
----WWW-----     ----WWWWW----
---WWWWWWW--     --WWWWWW-----
-----WWWW---     ----WWW------
------------     -------------
Run Code Online (Sandbox Code Playgroud)

我计划采取的步骤,以分割图像:

  1. 将图像从一侧扫描到另一侧.
  2. 确定blob的边缘.
  3. 取两个内边缘之间的距离.
  4. 在内部距离的中间分割图像.
  5. 将两个图像另存为单独的文件.

如果我规范化图像宽度会很好,所以我的所有图像在保存时都具有统一的宽度.

我没有图像处理的经验,所以我不知道这是一种有效的方法.我目前正在使用BufferedImage,获取宽度/高度,迭代每个像素等等.我的问题没有错误的解决方案,但我正在寻找更高效的解决方案(更少代码+更快).我也一直在研究java.awt.Graphics ......

如果我能找到更有效的方法来完成这项任务,我将不胜感激.我想坚持使用Java的内置库,在这种情况下,BufferedImage或Graphics2D是最有效的吗?

编辑:这是阅读建议后的代码:

public void splitAndSaveImage( BufferedImage image ) throws IOException
{
    // Process image ------------------------------------------         
    int height = image.getHeight();
    int width = image.getWidth();
    boolean edgeDetected = false;
    double averageColor = 0;
    int threshold = -10;
    int rightEdge = 0;
    int leftEdge = 0;
    int middle = 0;

    // Scan the image and …
Run Code Online (Sandbox Code Playgroud)

java graphics image-manipulation image-processing

5
推荐指数
1
解决办法
4026
查看次数

WPF工具包DataGrid SelectionChanged获取单元格值

请帮助我,我试图从SelectionChangedEvent中的选定行获取Cell [0]的值.

我只是设法得到许多不同的Microsoft.Windows.Controls,我希望我错过了一些愚蠢的东西.

希望我能从这里得到一些帮助......

    private void datagrid_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {
        Microsoft.Windows.Controls.DataGrid _DataGrid = sender as Microsoft.Windows.Controls.DataGrid;
    }
Run Code Online (Sandbox Code Playgroud)

我希望它会像......

_DataGrid.SelectedCells[0].Value;
Run Code Online (Sandbox Code Playgroud)

但是.Value不是一个选择....

非常感谢这一直让我发疯!担

c# wpf datagrid wpfdatagrid

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

在同一台机器中存储许多应用程序使用的连接字符串的位置?

在我的商店,我们习惯在.config文件中存储连接字符串.但是当我们不得不在同一台机器上的几个应用程序中更新它时,有人提出了将其存储在Windows注册表中的想法.

这是一个好主意吗?有什么影响(安全性)?

.net registry connection-string

6
推荐指数
1
解决办法
328
查看次数

有没有办法用git post-commit钩子获取提交的受影响文件?

我在perforce存储库中使用git.我希望能够确切地知道哪些文件受到git提交的影响,因此我可以使用post-commit钩子打开并打开这些文件以便在perforce中进行编辑,因此perforce服务器知道这些更改.
有没有办法在post-commit钩子中获得一个列表,确切地说文件受到提交的影响?

git version-control hook

5
推荐指数
2
解决办法
1512
查看次数

联盟可以在声明中初始化吗?

例如,假设我们有一个联盟

typedef union {
unsigned long U32;
float f;
}U_U32_F;
Run Code Online (Sandbox Code Playgroud)

声明此union类型的变量时,有没有办法设置初始值?

U_U32_F u = 0xffffffff;   // Does not work...is there a correct syntax for this?
Run Code Online (Sandbox Code Playgroud)

c initialization declaration unions

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

SQL Server 2005:将varchar值'1.23E-4'转换为十进制失败

declare @a varchar(40)
set @a='1.23e-4'
declare @b decimal(27,12)

if isnumeric(@a) =1
begin

    select @b=cast(@a as decimal(27,12))

end
else
begin
    select @b=-1
end

select @b
Run Code Online (Sandbox Code Playgroud)

当在SQL 2005环境下执行上面的sql代码时,我收到以下错误.

将数据类型varchar转换为数字时出错

有谁知道为什么?

谢谢.

sql sql-server-2005

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

在IDLE中运行python脚本时,有没有办法传入命令行参数(args)?

我正在测试一些解析命令行输入的python代码.有没有办法通过IDLE传递此输入?目前我正在保存IDLE编辑器并从命令提示符运行.

我正在运行Windows.

python command-line-arguments python-idle

44
推荐指数
3
解决办法
7万
查看次数