class a {
public:
virtual void test1(void) {
printf("a1\n");
}
};class b: public a {
public:
void test1(void) {
a::test1();
printf("b1\n");
}
};
上面是一段C++的类代码,在类b::test1中先调用了a::test1方法,然后继续执行b::test1下面的代码,在c#能这么做吗?
public:
virtual void test1(void) {
printf("a1\n");
}
};class b: public a {
public:
void test1(void) {
a::test1();
printf("b1\n");
}
};
上面是一段C++的类代码,在类b::test1中先调用了a::test1方法,然后继续执行b::test1下面的代码,在c#能这么做吗?
解决方案 »
- Inno setup打包framework问题 ?
- 怎么样结束等待中的线程
- c#写的winform,要是需要在没装formwork的环境运行,能否通过某个软件导一下
- C#调试问题,VS.net 2003 Attach到C#语言编写的应用程序的process后无法加载Source File和Symbol File.
- 如何获取控件的值?
- 菜鸟求救!应用WIN32 API时老出现未将对象引用设置到对象的实例,不是社区原来提出的那种--在线等
- 高手请进:关于部署
- C#中在combobox中实现模糊查询
- 求一个正则表达式
- ashx一般应用处理程序接收音频文件,并保存到服务器
- 怎么截串~~急~有例子
- 格式转换?
调基类用base.FunctionName()
public virtual void test1(void)
{
Console.WriteLine("a1\n");
}
}class b:a
{
public void test1(void) //此处会有编译警告,因为它隐藏了基类方法test1,可以选择:1):用new来显式隐藏;2):override重写
{
base.test1();
Console.WriteLine("b1\n");
}
}
至于子类有和你类一样的方法时如果不加new关键字也会是认为是隐藏的,但是会有警告