回 帖 发 新 帖 刷新版面

主题:求助

using System;
public class Parent
{
    public Parent()
    {
        Console.WriteLine("Parent Constructor");
    }
    public Parent(string myString)
    {
        Parentstring = myString;
        Console.WriteLine("Parentstring");
    }
    public void print()
    {
        Console.WriteLine("I'm a Parent Class .");
    }
}
public class child : Parent
{
    public child()
        : base("From Derived ")
    {
        Console.WriteLine("child Constructor");
    }
    public void print()
    {
        base .print();
        Console .WriteLine("I'm a child class");
    }
   
    public static void Main()
    {
        child child = new child();
        child.print();
        ((Parent)child).print();
    }
}

警告    1    “child.print()”隐藏了继承的成员“Parent.print()”。如果是有意隐藏,请使用关键字 new。    C:\Documents and Settings\user\My Documents\Visual Studio 2005\Projects\lianxi\lianxi\Program.cs    25    17    lianxi
错误    2    当前上下文中不存在名称“Parentstring”    C:\Documents and Settings\user\My Documents\Visual Studio 2005\Projects\lianxi\lianxi\Program.cs    10    9    lianxi


2个错误要怎么改呀!!!顺便帮忙解释下程序的意思谢谢

回复列表 (共3个回复)

沙发

第1个问题中,child类是Parent的继承类,同时,child类中的print方法名称及参数与基类相同,所以在这样的情况,C#会认为你正在 “隐藏基类(Parent)的print()方法”。

第2个问题,Console.WriteLine("Parentstring")应该是Console.WriteLine(Parentstring);

板凳

还有个问题希望你也可以帮我解答一下:  他的第一个输出就该是From Derived这个但是他实际是输出parentString...代码跟书代码对了一下没有错误...请问这是怎么回事呀

3 楼

如果实际输出确实是parentString ,那说明是直接输出的,不需要去掉引号。

或者我没有明白你的意思。

我来回复

您尚未登录,请登录后再回复。点此登录或注册