我有一个基类和一个派生类.每个类都有一个.h文件和一个.cpp文件.
我在以下代码中对派生类执行基类对象的dynamic_cast:
h文件:
class Base
{
public:
Base();
virtual ~Base();
};
class Derived : public Base
{
public:
Derived(){};
void foo();
};
class Another
{
public:
Another(){};
void bar(Base* pointerToBaseObject);
};
Run Code Online (Sandbox Code Playgroud)
cpp文件:
Base::Base()
{
//do something....
}
Base::~Base()
{
//do something....
}
void Derived::foo()
{
Another a;
a.bar(this);
}
void Another::bar(Base* pointerToBaseObject)
{
dynamic_cast<Derived*>(pointerToBaseObject)
}
Run Code Online (Sandbox Code Playgroud)
从某些奇怪的原因,转换失败(返回NULL).但是,如果我将Derived类的构造函数的实现从.h移动到.cpp文件,则转换成功.
什么可以导致它?
编译器是Linux-SUSE上的gcc 3.1.顺便说一句,我只在这个平台上看到这种行为,并且相同的代码在Visual Studio中运行良好.
我正在认真寻找这个代码......我是新程序员.
实际上我想用旗帜制作所有日期,这些日期都是特定年份的星期日.
拜托,我急切地等待你的回应....
在C#中我可以这样做:
//This is C#
static T SomeMethod<T>() where T:new()
{
Console.WriteLine("Typeof T: "+typeof(T));
return new T();
}
//And call the method here
SomeMethod<SomeClassName>();
Run Code Online (Sandbox Code Playgroud)
但由于某种原因,我不能让它在Java中工作.
我想要做的是,在超类上创建一个静态方法,这样子类就可以转换为XML.
//This is Java, but doesn't work
public static T fromXml<T>(String xml) {
try {
JAXBContext context = JAXBContext.newInstance(T.class);
Unmarshaller um = context.createUnmarshaller();
return (T)um.unmarshal(new StringReader(xml));
} catch (JAXBException je) {
throw new RuntimeException("Error interpreting XML response", je);
}
}
//Also the call doesn't work...
fromXml<SomeSubObject>("<xml/>");
Run Code Online (Sandbox Code Playgroud) 我可能会挑剔,但这样做更好:
if ($loggedin) {
// normal process
}
else {
header('Location: login.php');
}
Run Code Online (Sandbox Code Playgroud)
或这个:
if (!$loggedin) {
header('Location: login.php');
exit();
}
// normal process
Run Code Online (Sandbox Code Playgroud)
还是没关系?
基本上,我需要将来自多个供应商的产品数据组合到一个数据库中(当然,它比这更复杂),它有几个表需要连接在一起用于大多数OLTP操作.
我将坚持使用默认值并使用自动递增整数作为主键,但是当一个供应商提供他们自己的"ProductiD"字段时,其余的则没有,我将不得不做很多手动映射到另一个表然后加载数据(因为我必须首先将其加载到Products表中,然后将ID拉出并将其与我需要的其他信息一起添加到其他表中).
或者,我可以使用产品的SKU作为主键,因为SKU对于单个产品是唯一的,并且所有供应商都在其数据源中提供SKU.如果我使用SKU作为PK,那么我可以轻松加载数据源,因为所有内容都基于SKU,这就是它在现实世界中的工作方式.但是,SKU是字母数字的,并且可能比基于整数的密钥效率稍低.
我应该关注哪些想法?
我们在我工作的公司有一个Progress OpenEdge(http://en.wikipedia.org/wiki/Progress_4GL)开发团队.我是那里唯一的c#开发者,非常喜欢它.所以现在经理要我学习OpenEdge中的编程.他不希望我成为一名优秀的OpenEdge程序员,但他希望团队成员能够理解这两个世界.他希望球队能从中受益.我不是不愿意学习,但我想成为一个更好的开发者,我想发现.Net有更多方面.那么有什么关于Progress OpenEdge的好点我会从中获利还是应该远离它.
我有一辆车,当加速时,我希望速度"慢慢"增加..
看了几个网站后我得出的结论是SmoothStep方法可以用来做到这一点?
我非常知道如何移动纹理和东西,所以使用smoothstep来增加浮点数或类似值的示例将非常有用!
提前致谢 :)
我认为很遗憾MSDN库中的所有方法都没有示例.
似乎.NET无法使用GDI库打开JP2(Jpeg 2000)文件.我在谷歌搜索但找不到任何库或示例代码来执行此操作.
有人有任何想法吗?除非我必须,否则我真的不想为图书馆付费.
我正在处理一个代码,它要求我存储60*4个布尔值,这些值的标题存储在plist中.我需要在运行时操作布尔值,并且找不到一种方法来轻松更新plist文件.而且使用sqlite数据库来存储布尔值变得忙于这么大量的数据...有没有任何简单的方法我可以在运行时和应用程序启动后轻松存储和检索这些值吗?
可能重复:
ASP.NET:网站还是Web应用程序?
我注意到,当您启动Visual Studio 2008并选择" 新建项目 " - >"ASP.NET Web应用程序"而不是" 新网站 " - >"ASP.NET 网站 " 时,您所获得的内容显然存在差异".例如,如果选择"Project",则可以编译为.dll,每个页面都会获得一个*.aspx.designer.cs代码隐藏文件.
1)为什么我们有这两种不同的项目类型?
2)你更喜欢哪一个?
3)为什么我会选择一个而不是另一个?
4)*.aspx.designer.cs文件的处理是什么?
c# ×3
.net ×2
java ×2
asp.net ×1
c++ ×1
cocoa-touch ×1
coding-style ×1
database ×1
date ×1
dynamic-cast ×1
gdi ×1
generics ×1
ios ×1
jpeg2000 ×1
objective-c ×1
openedge ×1
php ×1
primary-key ×1
smoothstep ×1
xcode ×1
xna ×1