以下是http://www.cplusplus.com/doc/tutorial/polymorphism.html(为便于阅读而编辑)的多态性示例:
// abstract base class
#include <iostream>
using namespace std;
class Polygon {
protected:
int width;
int height;
public:
void set_values(int a, int b) { width = a; height = b; }
virtual int area(void) =0;
};
class Rectangle: public Polygon {
public:
int area(void) { return width * height; }
};
class Triangle: public Polygon {
public:
int area(void) { return width * height / 2; }
};
int main () {
Rectangle rect;
Triangle trgl;
Polygon …Run Code Online (Sandbox Code Playgroud) 这是另一个C#/.NET问题仅基于好奇而不仅仅是一个迫切需要 ......
如果你有一个Socket实例,并且想要将它包装在更高级别的TcpClient类中,那可能吗?你会怎么做?
相反,如果你有一个实例TcpClient,是否有可能获得底层Socket?
我有一份使用我正在维护的TChart的报告.其中一个自动添加的TLineSeries被赋予颜色clWhite,它太靠近背景(clBtnFace).
如果我改变它,那么下一个添加的系列就会变成clWhite.在创建了所有其他系列之后,没有回头并改变它,有没有办法告诉TChart我不希望我的任何系列都是clWhite?
当系列添加到TChart时,TChart会为其指定颜色.我希望它不分配clWhite.
我只是编写一个小型Ajax框架,用于小型项目的可重用性,我遇到了问题.基本上我NS_ERROR_ILLEGAL_VALUE发送请求时出错,我不知道发生了什么.
HTML页面(修剪但显示错误)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Ajax Test</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
var COMPLETE = 4;
var OK = 200;
function GetXMLHttpRequestObject()
{
var XMLHttpRequestObject = false;
if(window.XMLHttpRequest)
{
if(typeof XMLHttpRequest != 'undefined')
{
try
{
XMLHttpRequestObject = new XMLHttpRequest();
}
catch (e)
{
XMLHttpRequestObject = false;
}
}
}
else if (window.ActiveXObject)
{
try
{
XMLHttpRequestObject = new ActiveXObject('Msxml2.XMLHTTP');
}
catch (e)
{
try
{
XMLHttpRequestObject = …Run Code Online (Sandbox Code Playgroud) 如何在Markdown解析文档中包含书签?降价时是否有任何"标记"基本上都是"不解析这个"?
例如,你可以有类似的东西:
<a href="javascript:function my_bookmarklet()
{alert('Hello World');}
my_bookmarklet();">Hello</a>
Run Code Online (Sandbox Code Playgroud)
但是,如果我尝试将javascript中的javascript传递到markdown中的链接,如下所示:
[Hello World!](javascript:function my_bookmarklet(){alert('Hello World');}my_bookmarklet();)
Run Code Online (Sandbox Code Playgroud)
你得到一个混乱的链接,如下所示.
[Hello World!](javascript:function my_bookmarklet(){alert('Hello World');} my_bookmarklet();)
有没有办法解决?
不,我不是试图将恶意书签放在SO或任何东西,但我想使用markdown为我的网站,并希望发布我写的一些bookmarklet.
编辑:我以为我有答案......但现在看来我还没有.
这似乎在WMD和摊牌中很有效,但在Markdown.php编辑器中却没有.有人有Markdown.php的经验吗?
Doxygen有点慢 - 处理整个项目大约需要几分钟,因此对于小的增量更改,这比实际构建其余代码要长.有成千上万的文件没有任何文档,所以我猜它花了大部分时间来处理它们.有没有办法让它在没有任何文档的情况下跳过文件?
如何让它只处理更改的文件?
我有一个新的应用程序,我将在哪里生成一个包含表格,图形,目录和文本的Word文档.什么是一个很好的API用于此?你有多确定它支持图形,ToC和表格?使用它们有什么隐藏的问题?
一些澄清:
如果我可以从模板文档开始,只需用表格,图形等填充一些空格,那就太好了.
编辑:下面有几个很好的答案,每个都有自己的错误,就我目前的情况而言.很难从他们那里选择"最终答案".我想我会把它打开,并希望能够创造出更好的解决方案.
编辑:OpenOffice UNO项目似乎与我的要求最接近.虽然POI肯定是主流,但它对我想要的东西来说太不成熟了.
假设我在src/tree中有我的源代码(可能在我的测试/树中).说我想只编译那棵树的一部分.我可能想要这样做的原因是多种多样的.作为一个例子,我可能想要创建尽可能小的jar(不包括某些类),或者我可能想要编译的最快的编译时间.我绝对想编译所有的依赖项!
这可以通过以下命令行轻松实现:
javac -d build/ -cp whatever -sourcepath src src/path/to/MyClass.java
Run Code Online (Sandbox Code Playgroud)
现在,你怎么能用蚂蚁做到这一点?javac ant 任务编译所有内容:
将递归扫描源和目标目录以查找要编译的Java源文件.
可以使用excludes和includes参数,但它们是有问题的.事实上,它似乎是一个有明确设置所有的includes(不是自动的依赖查找),并且即使最差的是排除优先于包括:
当使用包含和排除时,仅使用与至少一个包含模式匹配且与任何排除模式不匹配的文件/目录.
因此,你不能使用
<javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="classpath"
excludes="**/*.java" includes="src/path/to/MyClass.java" />
Run Code Online (Sandbox Code Playgroud)
因为它不会编译任何东西:-(
有没有办法javac用ant 实现这个简单的命令行?
编辑:谢谢你的回答,萨迪,我接受了,因为它确实以我在这个问题中想知道的方式工作.但是我有几条评论(在你的答案的评论栏中太长了):
1)我确实阅读了文档(参见上面的链接),但目前还不清楚只是includes你实际上也排除了其他一切
2)当你只是includes蚂蚁记录类似的东西
[javac] Compiling 1 source file to /my/path/to/build
Run Code Online (Sandbox Code Playgroud)
即使依赖项使其编译(多)只是一个源文件.
我正在拦截 Win32 API 调用本机 dll 或 exe 正在使用某种挂钩从 C# 执行。在这种特殊情况下,我对 user32.dll 中的 DrawText() 感兴趣。它在 Win32 API 中是这样声明的:
INT WINAPI DrawTextW(HDC hdc, LPCWSTR str, INT count, LPRECT rect, UINT flags)
Run Code Online (Sandbox Code Playgroud)
LPRECT 结构具有以下签名(也在 Win32 API 中):
typedef struct tagRECT {
LONG left;
LONG top;
LONG right;
LONG bottom;
} RECT LPRECT;
Run Code Online (Sandbox Code Playgroud)
LONG 是 32 位系统上 32 位整数的 typedef(不知道 64 位系统,在这一点上无关紧要,因为我在 32 位 Windows 上)。为了能够访问这个结构的成员,我在我的 C# 代码中声明了它......
[StructLayout(LayoutKind.Sequential, Pack = 1)]
public struct RECT
{
public Int32 left;
public Int32 top;
public Int32 …Run Code Online (Sandbox Code Playgroud) 是否有一个注册表设置,我可以查找以确定是否已安装Visual C++可再发行组件,无论是独立还是作为Visual Studio 2008的一部分?我知道我可以启动VC++ 2008可再发行安装程序并让它处理检测,但是如果我可以检查它并且如果可再发行组件已经在系统上则不打扰启动安装程序它看起来会更清晰.
如果没有可搜索的设置,这并不重要,因为这仅适用于我们软件新版本的初步安装程序.对于我们正在开发的基于Windows Installer的新安装程序,我们不需要它来替换旧的技术安装程序,并将使用合并模块.