大家帮我看看下面代码,重写的方法怎么声明为virtual,还能被重写。

问题描述

需要usingSystem.Collections;publicclassFibonacci:CollectionBase{publicFibonacci(){}publicvirtualintAdd(intvalue){returnbase.InnerList.Add(value);}publicobjectPeek(intindex){returnbase.List[index];}publicvirtualvoidReMove(){base.InnerList.RemoveAt((int)base.InnerList.Count-1);}staticpublicFibonaccisd=newFibonacci();publicstaticvoidPrint(Fibonaccilist){IEnumeratorienu=sd.GetEnumerator();inti=0;while(ienu.MoveNext()){Console.Write(ienu.Current+"");i=i+1;if(i%10==0)Console.WriteLine();}}staticvoidMain(string[]args){sd.Add(1);sd.Add(1);for(inti=2;i<20;i++){sd.Add((int)sd.Peek(i-1)+(int)sd.Peek(i-2));}Print(sd);Console.ReadLine();}}这个自定义集合怎么都这么写:publicvirtualintAdd(intvalue)(声明方法为vitual)来重写Add方法呢?写错了吧。但又能运行出结果呢?菜鸟希望大家帮助,^_^

解决方案

解决方案二:
去掉这个关键字也不会对本程序产生影响,它主要是为了以后继承这个类而使用的参考:http://blog.csdn.net/zhoufoxcn/archive/2007/01/31/1498685.aspxhttp://www.cnblogs.com/Bear-Study-Hard/archive/2005/12/22/302420.html
解决方案三:
不想被重写应该使用sealed关键词来锁定。virtual关键词是声明当该方法被重写时不是new。
解决方案四:
写错?难道楼主以为是抽象?虚拟只是为了继承的方便。
解决方案五:
publicvirtualintAdd(intvalue)用virtual来声明这个方法是可以被字类重写的。如果没有virtual子类将不能重写这个方法。没有子类,它也能独立运行的,方法和子类无关的。
解决方案六:
知道了,谢谢楼上的这些朋友。

时间: 2024-09-08 04:06:06

大家帮我看看下面代码,重写的方法怎么声明为virtual,还能被重写。的相关文章

哪位大神能帮我解读一下代码 万分感谢

问题描述 哪位大神能帮我解读一下代码 万分感谢 有关色偏检测的 double operation::colorCastDetection(IplImage pFrame) { IplImage labFrame = cvCreateImage(cvGetSize(pFrame),pFrame->depth,pFrame->nChannels); cvCvtColor(pFrame,labFrame,CV_BGR2Lab); double da = 0;//色度a的平均值 double db =

库-帮我注释一下代码,谢谢了

问题描述 帮我注释一下代码,谢谢了 /** 文件库对话框 / public class FileLibDialog extends Dialog implements DialogInterface{ /* 文件库数据结构为 parentList 放 文件库名. childList 放对应文件库里的文件. 库名在parentList的位置与其文件在childList的位置一样 */ private ArrayList parentList; private ArrayList> childLis

设计-求大神帮我看一下代码哪里有问题,这是用verilog写的sdram的数据模块

问题描述 求大神帮我看一下代码哪里有问题,这是用verilog写的sdram的数据模块 `timescale 1ns / 1ps ////////////////////////////////////////////////////////////////////////////////// // Company: // Engineer: // // Create Date: 12:07:50 04/20/2016 // Design Name: // Module Name: datage

编程-能帮我修改下代码吗?那fopen_s函数的参数

问题描述 能帮我修改下代码吗?那fopen_s函数的参数 解决方案 fopen_s(&fp,"c:\zi.txt","w");

软件开发-求大神帮我看看C++代码

问题描述 求大神帮我看看C++代码 以下是我的.h头文件: #include <vector> #include<iostream> #include <iomanip> #include <math.h> #define M_PI 3.14159265359 ////////**************定义目标状态***************//////// typedef struct strTargetState//笛卡尔坐标系位置 { double

谁能帮我把这个代码补全,就差一点点了。java语法编写本地监控系统

问题描述 谁能帮我把这个代码补全,就差一点点了.java语法编写本地监控系统 package com.tz.util; import java.awt.Dimension; import java.awt.Rectangle; import java.awt.Robot; import java.awt.Toolkit; import java.awt.image.BufferedImage; import javax.swing.ImageIcon; import javax.swing.JF

汇编-8259A中断控制器的应用,帮我看一下代码有问题吗,还有硬件应该怎么连线

问题描述 8259A中断控制器的应用,帮我看一下代码有问题吗,还有硬件应该怎么连线 实验内容 用8259A的输出作为中断请求信号使8259A产生中断,进入中断后显示一个字符串.中断请求通过8259的IRQ3端输入,中断源要求是8253定时器输出的脉冲,并把8253的OUT0和总线槽IRQ3连接好. 编写程序,要求每次主机响应外部中断IRQ3时,显示字符串"THIS IS A 8259A INTERRUPT!"(或其它串),中断十次后,程序退出. data segment io8253a

android-各位高手,帮我分析以下代码在安卓手机上运行时报错的原因!

问题描述 各位高手,帮我分析以下代码在安卓手机上运行时报错的原因! //MainActivity.java如下: ```import android.app.Activity; import android.os.Bundle; import android.view.KeyEvent; import android.view.Menu; import android.view.MenuItem; import android.webkit.WebSettings.RenderPriority;

css百度分享-请高手帮改一个CSS代码 让百度分享和文章链接并排

问题描述 请高手帮改一个CSS代码 让百度分享和文章链接并排 .Article-Tool{ border:1px solid #c3d4e7; position:relative; top:-1px; text-align:right; padding:8px; vertical-align:middle; height:15px; background-color:#f4f8fd} .Article-Tool a{width:16px;height:16px;line-height:16px;