小编deo*_*ngh的帖子

我应该如何设计一组相关的类别,其中只有一些支持某项操作?

我正在使用C++开发基于幻灯片的应用程序.每张幻灯片都有一个幻灯片项集合,其中包括标题,按钮,矩形等项目.

只有其中一些项目支持填充,而其他项目则不支持填充.

在这种情况下,为幻灯片项目实现填充的最佳方法是什么?以下是我想到的两种方式:

  1. 创建一个界面Fillable并为支持填充的幻灯片项实现此界面,保持与填充界面相关的所有属性.迭代幻灯片项列表时,将它们dynamic_cast放入Fillable,如果成功,则执行与fill相关的操作.

  2. 做一个fill类.使fill指针成为幻灯片项类的一部分,将fill对象分配给 fill支持填充的那些对象的指针,对于其余对象,将其保持为空.给一个函数GetFill,fill如果它存在则返回该项,否则返回NULL.

对此最好的方法是什么?我对性能和可维护性感兴趣.

c++ design-patterns

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

无法在Java applet项目中解析JSObject

我想打电话给JSObject.getWindow(this)init的方法JApplet,但它是不是能够解决的象征getWindow.

这个问题特别发生在通过netbeans创建的javafx应用程序项目中,如果在java应用程序项目中使用,getWindow将得到解决.

我还包括了plugin.jarfrom path Java\jdk1.7.0_07\jre\lib.

这是我在netbeans中创建的javafx应用程序项目.

javascript java applet javafx-2 jsobject

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

刷新输入流C的问题

我无法在这里刷新stdin,有没有办法刷新stdin?如果没有,那么如何让getchar()从用户输入一个字符作为输入,而不是输入缓冲区中scanf留下的"\n"? ?

#include "stdio.h"
#include "stdlib.h"

int main(int argc,char*argv[]) {
    FILE *fp;
    char another='y';
    struct emp {
        char name[40];
        int age;
        float bs;
    };
    struct emp e;
    if(argc!=2) {
        printf("please write 1 target file name\n");
    }
    fp=fopen(argv[1],"wb");
    if(fp==NULL) {
        puts("cannot open file");
        exit(1);
    }
    while(another=='y') {
        printf("\nEnter name,age and basic salary");
        scanf("%s %d %f",e.name,&e.age,&e.bs);
        fwrite(&e,sizeof(e),1,fp);

        printf("Add another record (Y/N)");
        fflush(stdin);
        another=getchar();
    }
    fclose(fp);
    return 0;
}

编辑: - 更新的代码,仍然无法正常工作

#include "stdio.h"
#include "stdlib.h"

int main(int argc,char*argv[]) {
    FILE *fp;
    char …

c stream

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

将应用程序从碳转移到可可

我正在开发一个应用程序,我需要将它的整个代码从carbon迁移到cocoa.我在大学时间和实习期间有C,C++,python和Java编程经验,但从未接触过目标C或已完成在此之前为Mac(Carbon和Cocoa)编程.

那么你能否请一些资料来建议我,我该如何进行整个迁移呢?

在对网络进行研究后,我发现大多数人都建议使用以下书籍

适用于Mac®OSX的Cocoa编程,第三版由Aaron Hillegass编写

目标C中的编程 - Stephen Kochan

我有这两本书.

我应该首先阅读它们然后应该从代码更改开始吗?(这两个方面都需要一些时间)

要么

在对Obj C和Cocoa有一定的了解之后,我应该直接开始代码迁移吗?

也,

既然我不知道碳,那么我应该提到学习碳有足够的知识将碳代码迁移到可可?

macos cocoa macos-carbon objective-c

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

用于设计高速缓存的数据结构,具有高效的插入,删除和最高值的检索

我必须实现具有正常缓存操作的缓存以及从缓存中快速检索最大元素的功能.

你能建议数据结构来实现这个吗?

我正在考虑使用哈希映射和列表来维护最小元素.

建议更复杂的其他方法.

algorithm data-structures

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

在应用程序中创建一个窗口最顶层

在我的应用程序中,我有一组windows.I希望其中一个窗口在应用程序处于活动状态时始终处于最顶层.我尝试通过更改窗口级别来执行此操作,但未成功.

如果我放置NSNormalWindowLevel,然后点击我的应用程序的任何其他窗口,这个窗口进入后台.如果我使用除NSNormalWindowLevel之外的任何其他级别,那么即使我切换到其他应用程序,窗口仍然是最顶层的.我希望窗口在我的应用程序处于活动状态时才是最顶层的.如何在可可中执行此操作?

谢谢

macos cocoa osx-leopard window

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

NSView未检测到鼠标移动事件

我正在尝试创建一个简单的应用程序,其中有一个空的红色矩形,每当鼠标移动到矩形的上半部分边框时,光标将变为闭合的手.

我开始选择基础命令行项目.使用矩形制作透明NSWindow并嵌入其中NSView,制作窗口以接受鼠标移动事件(通过方法:) -setAcceptsMouseMovedEvents.我已经覆盖-canBecomeKeyWindow并且-canBecomeMainWindow窗口返回YES.但不知怎的,这些-mouseMoved事件都没有被收到NSView.

当我通过制作一个cocoa应用程序项目并在-applicationDidFinishLaunching方法中创建我的窗口来放置相同的代码时,我的视图能够接收-mouseMoved事件.

当我使用基础命令行实用程序项目时,为什么它不接收鼠标移动事件?

我还观察到,每当我通过基础cmd线实用程序项目创建一个窗口(碳或可可)时,即使单击标题栏,窗口也不会成为关键.单击标题栏颜色仍为浅灰色而不是变为深灰色.为什么会这样?

我已重写-canBecomeKeyWindow-canBecomeMainWindowNSwindow返回YES.

macos cocoa

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

有没有办法为数据库表的列强制执行一组值?

我有一个表,在其中一个列中我将指定实体的类型.实体只能有三种类型 - 标题,图像或注释,因此我想确保表列只应接受其中一个三弦.有没有办法把这个约束放在ms sql server 2008中?

编辑: - 添加了db图以获得有关改进设计的提示.

设计: - 1)故事板有许多幻灯片,每个幻灯片可以有一个或多个标题或图像.

2)每个故事板可以有一个或多个作者,零个或多个评论者.

3)每个对象的图像,幻灯片和标题(可能更多的对象将在稍后出现,如音频等)可以对它们进行评论.这些评论可以由作者或评论者提供.为了存储注释,我创建了一个注释表.

4)有必要记住幻灯片中幻灯片的顺序和图像顺序,我正在使用幻灯片和图像编号字段.

5)由于可以对任何对象给出注释,我需要为每个对象都有一个全局ID,因为它们的引用将存储在注释表中.为了维护一个全局id,所有以name GID结尾的字段都是uniqueidentifiers使用默认值生成:NEWID().

请建议对此db设计进行改进.

数据库图

sql sql-server database-design

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

Web服务中的错误处理

如何将错误传达给Web服务使用者?

例如,我的Web服务具有在插入数据时将employee插入db.Suppose的功能,数据库发出错误,应该是告知用户错误的最佳方法.

一种方法是通过Web服务方法的返回值来描述它,但是当函数应该在没有错误时返回像employee这样的复杂对象时会怎么做,并且在出现错误时会发送错误字符串?

apache-flex asp.net soap web-services

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

变量占用的空间何时在c ++中解除分配?

一旦从函数返回控件,变量占用的空间是否会被释放?

我以为它被解除了分配.

在这里,我编写了一个函数,即使在从函数CoinDenom返回数组的本地引用之后也能正常工作,使用它来打印命名总和所需的最小硬币数的结果.如果空间被解除分配,它如何能够打印出正确的答案?

int* CoinDenom(int CoinVal[],int NumCoins,int Sum) {
  int min[Sum+1];
  int i,j;
  min[0]=0;
  for(i=1;i<=Sum;i++) {
    min[i]=INT_MAX;
  }

  for(i=1;i<=Sum;i++) { 

    for(j=0;j< NumCoins;j++) {

      if(CoinVal[j]<=i && min[i-CoinVal[j]]+1<min[i]) {
        min[i]=min[i-CoinVal[j]]+1;
      }
    }
  }
  return min; //returning address of a local array
}

int main() {

  int Coins[50],Num,Sum,*min;
  cout<<"Enter Sum:";
  cin>>Sum;
  cout<<"Enter Number of coins :";
  cin>>Num;
  cout<<"Enter Values";
  for(int i=0;i<Num;i++) {
    cin>>Coins[i];
  }

  min=CoinDenom(Coins,Num,Sum);
  cout<<"Min Coins required are:"<< min[Sum];
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ scope

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

如何开发抄袭探测器?

我打算将剽窃检测器作为我的计算机科学工程最后一年的项目,我想就此如何去做.

如果您能够建议CS中我需要关注的所有字段以及最适合实现的语言,我将不胜感激.

projects

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

如何在Sql Server中插入新行后立即获取新的身份ID?

我有一组通过外键连接的表,几乎所有的表都有主键作为sql server的自动增量标识符.该图如下.

现在,当我在storyboard表中添加一行时,我需要知道插入行时自动生成的故事板ID,以便使用它可以将与其关联的幻灯片插入幻灯片表中.

为此,我应该在数据库中查询已创建的ID,还是有其他方法可以使用它?请告诉我如何在sql server 2008中执行此操作

我正在使用asp dot net web服务与sql server进行交互.

数据库设计

sql database sql-server asp.net web-services

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

如何在没有#include <string>的情况下使用字符串?

在STL引用中给出了字符串类在字符串头中,然后不包括头如何运行以下程序而没有错误?

#include<iostream>

using namespace std;

int main() {
  string s;
  cin>>s;
  cout<<"string entered is : "<<s;
}
Run Code Online (Sandbox Code Playgroud)

我在ubuntu机器上使用g ++编译器.

c++

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