【发布时间】:2014-04-23 22:34:30
【问题描述】:
我正在尝试这个示例问题,我必须创建两个隐式转换运算符才能从 Human 创建一个 Doggy 类,反之亦然。课程需要考虑到人类一年是 7 狗年这一事实。有人告诉我,如果从 Dog 年变为人类年以确保年龄的类型仍然是 int (当然),并且可能需要一些明确的转换。我不知道如何定义 DogToHuman.Name、DogToHuman.Age、HumanToDog.Name 和 HumanToDog.Age。我对编程有点陌生,所以我不习惯这种格式。任何数字开头都可以,就像人类 25 岁一样。
class Human
{
public string Name;
public int Age;
public Human(string name, int age)
{
Name = name;
Age = age;
}
}
class Doggy
{
public string Name;
public int Age;
public Doggy(string name, int age)
{
Name = name;
Age = age;
}
}
class ConversionQuestion
{
static void Main(string[] args)
{
Console.WriteLine("As a Human, {0} would be {1}", DogToHuman.Name, DogToHuman.Age);
Console.WriteLine("As a Dog, {0} would be {1}", HumanToDog.Name, HumanToDog.Age);
Console.ReadLine();
}
}
抱歉有任何困惑,我不仅仅是在寻找答案,而是在寻找解决方法。
【问题讨论】:
-
这就是我卡住的地方。我可以在哪里放置 DogToHuman 或 HumanToDog 以便可以定义它们?会在另一个班级吗?
-
有很多方法可以解决这个问题 - 您需要自己尝试,然后询问您的代码是否有问题。