昨天我结束了编码(有一些帮助)这样的事情:
#include <iostream>
using namespace std;
class A
{
public:
virtual void foo(){cout << "A::foo\n";}
};
class B : private A
{
private:
virtual void foo(){ cout << "B::foo\n";}
void DoSomething(SomeOtherClass& o){o.DoSomething(*static_cast<A*>(this));}
};
Run Code Online (Sandbox Code Playgroud)
我尝试更改继承方法:
class B : public A
{
private:
virtual void foo(){ cout << "B::foo\n";}
};
int main()
{
A* a = new B;
a->foo();
}
Run Code Online (Sandbox Code Playgroud)
这仍然有效.我期望编译时错误.请告诉我为什么这是可能的以及可能的用途是什么?由于第一种情况,我知道一种用法 - 您可以为不同的类公开不同的接口.
编辑:
在第二种情况下,输出是B::foo.
我做了一个小实验.在过去,大多数人会将配置文件保存在php文件中作为一堆常量或具有属性的loooot的类.现在,我们看到像symfony这样的项目使用yaml或其他东西.我的问题是:
如果您可以从三种不同的方式选择存储您的配置文件:xml,yaml或php文件,您会选择哪一种?最重要的是:为什么?
谢谢你的帮助
OpenCV中手势识别的当前状态是什么?
我已经看到了能够检测手势的很好的例子(例如https://www.andol.me/1661/),但是识别手势和执行某些动作(例如操纵屏幕上的对象)似乎要困难得多.
有谁知道任何例子?
谢谢!
我在Grails中使用以下代码执行HQL以获取前30个Item对象时出错:
def items = Item.executeQuery('SELECT i FROM Item as i LIMIT 30 OFFSET 0')
Run Code Online (Sandbox Code Playgroud)
我的后端数据库是Postgres.但是,我得到了:
org.hibernate.hql.ast.QuerySyntaxException: unexpected token: LIMIT near line 1, column ...
Run Code Online (Sandbox Code Playgroud)
显然,错误告诉HQL不支持LIMIT.我如何使其工作?换句话说,如何让HQL执行Postgres支持的本机SQL?
我希望能够遍历给定类的所有基类,包括类本身,包括直接和间接的基类.如果您有一个元类来检查其所有基础的内部Options类,这将非常有用.
为此,我写了以下内容:
def bases(cls):
yield cls
for direct_base in cls.__bases__:
for base in bases(direct_base):
yield base
Run Code Online (Sandbox Code Playgroud)
是否有标准功能为我这样做?
struct node{
struct node next;
int id;
}
Run Code Online (Sandbox Code Playgroud)
给出"下一个字段有不完整的类型错误".
这个结构有什么问题?
我有一个巨大的双[].(例如:例如.double[] array = new double[] {2.0, 3.1, 4.2, 8.9, 10.11, ........})
我想一次得到该数组的所有元素的总和.(不使用循环).
你有任何想法吗?
我有一个函数searchWorkByName,它以"key"作为参数,并使用SQOL来检索数据.
在visualforce方面,我有一个调用searchWorkByName的链接,但希望能够传递诸如字符'a'之类的参数
例如,(这会引发错误)
<apex:commandLink value="search!" action="{!searchWorkByName('aaa')}" />
Run Code Online (Sandbox Code Playgroud)
如果没有替代方案,是否可以这样做?
顶级课程
public class SearchWorkTest {
public PageReference searchWorkByName(String key) {
//find record of work names starting from provided key character
workNames = [select name from work__c where work__c.name like 'key%'];
return Page.searchResult;
}
}
Run Code Online (Sandbox Code Playgroud)
visualforce
<apex:page standardController="work__c" extenstions="SearchWorkTest">
<!-- Is it possible to pass argument like 'foo' ? -->
<apex:commandLink value="search!" action="{!searchWorkByName}" />
</apex:page>
Run Code Online (Sandbox Code Playgroud)