标签: virtual

C++虚拟/纯虚拟解释

如果将函数定义为虚拟并且与纯虚拟函数相同,这究竟意味着什么?

c++ virtual

327
推荐指数
7
解决办法
24万
查看次数

为什么在Entity Framework模型定义中使用'virtual'作为类属性?

在以下博客中:http://weblogs.asp.net/scottgu/archive/2010/07/16/code-first-development-with-entity-framework-4.aspx

该博客包含以下代码示例:

public class Dinner
{
   public int DinnerID { get; set; }
   public string Title { get; set; }
   public DateTime EventDate { get; set; }
   public string Address { get; set; }
   public string HostedBy { get; set; }
   public virtual ICollection<RSVP> RSVPs { get; set; }
}

public class RSVP
{
   public int RsvpID { get; set; }
   public int DinnerID { get; set; }
   public string AttendeeEmail { get; set; }
   public virtual …
Run Code Online (Sandbox Code Playgroud)

c# virtual properties class

214
推荐指数
5
解决办法
15万
查看次数

你能用Java编写虚函数/方法吗?

是否有可能在Java中编写虚拟方法,就像在C++中一样?

或者,是否有适当的Java方法可以实现,产生类似的行为?我能举一些例子吗?

java virtual virtual-functions

150
推荐指数
4
解决办法
20万
查看次数

C++静态虚拟成员?

在C++中是否有可能拥有一个staticvirtual?的成员函数?显然,没有一种直接的方法(static virtual member();编译错误),但是至少有一种方法可以达到同样的效果吗?

IE:

struct Object
{
     struct TypeInformation;

     static virtual const TypeInformation &GetTypeInformation() const;
};

struct SomeObject : public Object
{
     static virtual const TypeInformation &GetTypeInformation() const;
};
Run Code Online (Sandbox Code Playgroud)

这是有道理的使用GetTypeInformation()上的一个实例(都object->GetTypeInformation())和一类(SomeObject::GetTypeInformation()),它可以为模板,比较有用和重要.

我能想到的唯一方法包括编写两个函数/一个函数和一个常量,每个类,或使用宏.

还有其他方法吗?

c++ virtual static

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

CRTP避免动态多态

如何在C++中使用CRTP来避免虚拟成员函数的开销?

c++ virtual templates crtp

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

虚拟,覆盖,新密封和密封覆盖之间的区别

我是OOP的一些概念之间很困惑:virtual,override,newsealed override.谁能解释这些差异?

我很清楚,如果要使用派生类方法,可以使用override关键字,以便派生类覆盖基类方法.但我不确定new,而且sealed override.

c# oop virtual overriding new-operator

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

目标谷歌API和目标android之间的区别

我正在使用Eclipse IDE开发SDK 2.3.3.众所周知,要运行我的应用程序,我应该生成虚拟设备.从'创建新的AVD'窗口,我可以看到许多目标.API级别10有2个目标,例如"android 2.3.3"和Google API(Google Inc).在这些目标中,我不确定应该选择哪一个.

我的问题是它们之间有什么区别.

在此先感谢丹

virtual android device target android-virtual-device

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

什么是虚拟方法?

为什么要将方法声明为"虚拟".

使用虚拟有什么好处?

c# virtual keyword

69
推荐指数
6
解决办法
5万
查看次数

虚拟赋值运算符C++

C++中的赋值运算符可以是虚拟的.为什么需要它?我们可以让其他运营商也虚拟化吗?

c++ virtual virtual-functions operator-overloading

66
推荐指数
5
解决办法
6万
查看次数

c ++通过clang重载虚函数警告?

clang在编译以下代码时发出警告:

struct Base
{
    virtual void * get(char* e);
//    virtual void * get(char* e, int index);
};

struct Derived: public Base {
    virtual void * get(char* e, int index);
};
Run Code Online (Sandbox Code Playgroud)

警告是:

warning: 'Derived::get' hides overloaded virtual function [-Woverloaded-virtual]
Run Code Online (Sandbox Code Playgroud)

(当然需要启用上述警告).

我不明白为什么.请注意,在Base中取消注释相同的声明会关闭警告.我的理解是,由于两个get()函数具有不同的签名,因此不能隐藏.

clang对吗?为什么?

请注意,这是在MacOS X上,运行最新版本的Xcode.

clang --version
Apple LLVM version 5.0 (clang-500.1.74) (based on LLVM 3.3svn)
Run Code Online (Sandbox Code Playgroud)

更新:与Xcode 4.6.3相同的行为.

c++ virtual hidden warnings overloading

65
推荐指数
4
解决办法
4万
查看次数