首页 > TAG信息列表 > virtual-method

我应该使用虚拟方法吗?

首先让我说明我理解虚方法的工作原理(多态,后期绑定,vtables). 我的问题是我是否应该将我的方法设为虚拟.我将举例说明我在特定情况下的困境,但任何一般指导方针也会受到欢迎. 上下文: 我正在创建一个库.在这个库中,我有一个CallStack类,它捕获一个调用堆栈,然后提供对捕获的堆栈帧

c – 虚拟方法混乱,我怎样才能找到导致这种情况的原因?

我的一位同事今天遇到了一些C代码的问题.他正在调试对象虚拟方法的怪异行为.每当方法执行时(在调试,Visual Studio 2005下),一切都出错了,调试器不会介入该方法,而是在对象的析构函数中!另外,对象的虚拟表,只列出了它的析构函数,没有其他方法. 我之前没有看到过这种行为,并且打印了

c – 为什么这堂课抽象?

我正在尝试创建表示多项式的LinkedList的实现.链接列表将是“术语”列表.术语是Data的实现(它是一个带有方法的抽象类:compareTo()和toString()). Polynomial类有一个名为head的变量,我试图将其初始化为Term.我的编译器说我“不能声明抽象类型的成员:Term”,但我不认为Term是抽象的,

抽象/虚拟成员提供通用和派生的组合功能 – C#

我以前做过这件事 – 只是不记得这个伎俩. 如果我有一个抽象类: 公共抽象类Post 还有一组派生类: 公共课照片:Post 我想强制派生类实现一个名为Validate()的方法,但同时在Post级别提供核心验证. 我可以创建一个方法:public abstract void Post中的Validate(),它会强制派生类实现该方法,

c# – 为什么SecondChild类的重写方法没有被调用两次?

我不清楚为什么在Child类初始化时没有再次调用SecondChild类DoSomething. class Parent { public Parent() { DoSomething(); } protected virtual void DoSomething() { Console.WriteLine("Parent Method"); } } class Child : Parent