你能在C++中使用协方差适用于泛型类型(通过模板)吗?
我已经发现这个问题回答了我的问题,但我再次问它,因为它已经有两年了!虽然有人解释说模板中的C++中没有协方差,但没有解释!
你能帮我讲解这个话题的新闻/解释吗?
即使我总是使用Eclipse进行Java编程,我也是使用批处理文件执行jar文件的新手.
但是,我正在创建一个客户端/服务器项目,现在我正在测试它,我需要停止批处理执行以检查生成的输出而不关闭相关的批处理窗口.
我无法使用该pause命令,因为它们是循环程序(模拟"永无止境的客户端/服务器通话")...但是如果我使用CTRL + C并且我将其杀死,则窗口将关闭!
有没有办法在不关闭批处理的情况下使用CTRL + C命令?
我想知道是否有一些方法可以使用铸造对象的方法而无需创建新变量.换句话说,有没有办法做到这一点:
abstract class event { }
class loop : event
{
public int a;
}
static void main ()
{
loop l = new loop();
l.a = 5;
event e = l; //supposing that
System.Console.WriteLine( (loop) (e).a );//error
loop lcast = (loop) e;
System.Console.WriteLine( lcast.a );//no error
}
Run Code Online (Sandbox Code Playgroud)
我可以在a不创建临时变量(lcast)的情况下访问该字段吗?
我有这两个班:
public abstract class Loop : Events
{ }
public class SimpleLoop : Loop
{
public Sound sound;
public SimpleLoop simple;
}
Run Code Online (Sandbox Code Playgroud)
我有一个抽象方法的抽象类:
public abstract class AbstractParser
{
public abstract Loop ParseLoop();
}
Run Code Online (Sandbox Code Playgroud)
这个扩展前一个类并实现抽象方法的其他类:
public class Parser2 : AbstractParser
{
public override Loop ParseLoop()
{
//not important stuff
simpleLoop.simple = (SimpleLoop) ParseLoop();
return simpleLoop;
}
}
Run Code Online (Sandbox Code Playgroud)
现在,我的问题是:有一种方法可以避免内部投射simpleLoop.simple = (SimpleLoop) ParseLoop()?
显然我没有完全上课,所以不要问自己这个烂摊子的目的是什么:D谢谢你的帮助!
c# ×2
casting ×2
batch-file ×1
c++ ×1
covariance ×1
java ×1
loops ×1
polymorphism ×1
templates ×1
windows ×1