问题列表 - 第24387页

C++多态和切片

打印出以下代码

Derived
Base
Base
Run Code Online (Sandbox Code Playgroud)

但我需要将每个Derived对象放入User :: items,调用自己的print函数,而不是基类.我可以在不使用指针的情况下实现吗?如果不可能,我应该如何编写逐个删除User :: items并释放内存的函数,以免出现任何内存泄漏?

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

class Base{
public:
  virtual void print(){ cout << "Base" << endl;}
};

class Derived: public Base{
public:
  void print(){ cout << "Derived" << endl;}
};

class User{
public:
  vector<Base> items;
  void add_item( Base& item ){
    item.print();
    items.push_back( item );
    items.back().print();
  }
};

void fill_items( User& u ){
  Derived d;
  u.add_item( d );
}

int main(){
  User u;
  fill_items( u );
  u.items[0].print();
}
Run Code Online (Sandbox Code Playgroud)

c++ polymorphism object-slicing

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

直接调用与C中的间接调用

我是C的新手,我正在阅读指针如何"指向"另一个变量的地址.所以我尝试了间接调用和直接调用,并收到了相同的结果(正如任何C/C++开发人员所预测的那样).这就是我做的:

int cost;
int *cost_ptr;

int main()
{
    cost_ptr = &cost;                          //assign pointer to cost
    cost = 100;                                //intialize cost with a value
    printf("\nDirect Access: %d", cost);
    cost = 0;                                  //reset the value
    *cost_ptr = 100;
    printf("\nIndirect Access: %d", *cost_ptr);
    //some code here

    return 0;                                  //1
}
Run Code Online (Sandbox Code Playgroud)

所以我想知道使用指针的间接调用是否比直接调用有任何优势,反之亦然?一些优点/缺点可能包括速度,执行操作所消耗的内存量(很可能相同,但我只想把它放在那里),安全性(如悬挂指针),良好的编程习惯等
.1有趣的是,我是使用GNU C编译器(gcc),它仍然编译没有return语句,一切都按预期.也许是因为如果你忘了,C++编译器会自动插入return语句.

c comparison pointers indirection invocation

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

jquery mouseout问题

我的HTML

<div id="parent">
<div id="child">cx</div>
</div>
Run Code Online (Sandbox Code Playgroud)

当我使用jquery

 $('#parent').mouseout(function(){
//something here
});
Run Code Online (Sandbox Code Playgroud)

我想知道为什么当我的鼠标进入子div时,函数会触发.我还在父母div里面.我希望只有当我离开父div而不是当我在任何子div上时才会触发mouseout函数

http://jsbin.com/esiju/ <<示例

干杯

mouse jquery mouseout

15
推荐指数
1
解决办法
7226
查看次数

Java中的二进制搜索树

我想制作一个通用的BST,它可以由任何数据类型组成,但是如果我的BST是通用的,我不知道如何向树中添加内容.我需要的所有代码都在下面.我希望我的BST由Locations组成,并按x变量排序.任何帮助表示赞赏.

非常感谢您的关注.

public void add(E element)
{
    if (root == null)
         root = element;
    if (element < root)
         add(element, root.leftChild);
    if (element > root)
         add(element, root.rightChild);
    else
         System.out.println("Element Already Exists");
}

private void add(E element, E currLoc)
{
    if (currLoc == null)
         currLoc = element;
    if (element < root)
         add(element, currLoc.leftChild);
    if (element > root)
         add(element, currLoc.rightChild);
    else
         System.out.println("Element Already Exists);
}
Run Code Online (Sandbox Code Playgroud)

其他代码

public class BinaryNode<E>
{
    E BinaryNode;
    BinaryNode nextBinaryNode;
    BinaryNode prevBinaryNode;

    public BinaryNode()
    {
        BinaryNode = null;
        nextBinaryNode …
Run Code Online (Sandbox Code Playgroud)

java binary-tree binary-search data-structures

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

Ruby:有没有办法只使用前x个密码来分割字符串?

例如,假设我有这个:

001, "john doe", "male", 37, "programmer", "likes dogs, women, and is lazy"

问题是该行只应该有6个字段.但是,如果我将它与split分开,我会得到更多,因为逗号被不正确地用于分隔字段.

现在我正在拆分所有东西,然后当我到达第5个索引时,我连接所有的字符串.但我想知道是否存在分裂(",",6)或沿着这些方向的东西.

ruby string

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

Java JCE提供程序 - "洁净室实现"是什么意思?

我需要写一个JCE提供者.我了解到我需要使用充气城堡洁净室实施.你能告诉我在这种背景下"洁净室实施"意味着什么吗?

java encryption jce

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

泛型:列表<?extends Animal>和List <Animal>相同?

我只是想了解extendsJava Generics中的关键字.

List<? extends Animal>意味着我们可以在任何东西对象List是阿 Animal

那么以下也不会意味着同样的事情:

List<Animal>
Run Code Online (Sandbox Code Playgroud)

有人能帮助我了解上述两者之间的区别吗?对我来说extends这里听起来多余.

谢谢!

java generics extends covariance contravariance

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

Codechef练习问题需要帮助 - 在阶乘中找到尾随零

我现在已经24小时工作,试图优化它.问题是如何在大约8秒内找到10000000和1000万个测试用例中的数字因子的尾随零的数量.

代码如下:

#include<iostream>

using namespace std;

int count5(int a){
    int b=0;
    for(int i=a;i>0;i=i/5){
        if(i%15625==0){
            b=b+6;
            i=i/15625;
        }
        if(i%3125==0){
            b=b+5;
            i=i/3125;
        }
        if(i%625==0){
            b=b+4;
            i=i/625;
        }
        if(i%125==0){
            b=b+3;
            i=i/125;
        }
        if(i%25==0){
            b=b+2;
            i=i/25;
        }
        if(i%5==0){
            b++;
        }
        else
            break;

    }
    return b;
}
int main(){
    int l;
    int n=0;
    cin>>l; //no of test cases taken as input
    int *T = new int[l];

    for(int i=0;i<l;i++)
        cin>>T[i]; //nos taken as input for the same no of test cases


    for(int i=0;i<l;i++){
        n=0;
        for(int j=5;j<=T[i];j=j+5){ …
Run Code Online (Sandbox Code Playgroud)

c++ algorithm

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

Sinatra中的静态页面路由(Ruby)

你可以通过将它们放入public/(默认情况下)来为Sinatra提供静态文件- 我现在有一个index.html在那里,但是如何将根点指向该文件而不必将其解析为模板?

要清楚,我可以/index.html成功访问,并且我想路由/到相同的静态文件,但没有重定向.知道怎么做吗?

ruby routing sinatra

13
推荐指数
2
解决办法
7290
查看次数

在GWT中使用EnumSet类

我在客户端使用EnumSet时遇到问题.

我收到此运行时错误消息:

java.util.EnumSet.EnumSetImpl不是默认的可实例化的(它必须具有零参数构造函数或根本没有构造函数)并且没有自定义序列化程序.

这是一个众所周知的问题吗?

这是我正在做的事情(基本上是一个你好世界的应用程序)

服务:

String echo (EnumSet<Names> name) throws IllegalArgumentException;
Run Code Online (Sandbox Code Playgroud)

客户:

echoServ.echo (EnumSet.of(Names.JOHN), new AsyncCallback<String>()
{ ....... });
Run Code Online (Sandbox Code Playgroud)

共享枚举类 枚举名称{JOHN,NUMAN,OBAMA}

gwt

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