開発環境
- Microsoft Windows 7 Home Premium (OS)
- Microsoft Visual C# 2010 Express Edition (IDE)
- 言語: C#
独習C# 第3版 ハーバート・シルト (著) エディフィストラーニング株式会社 矢嶋聡 (監修, 翻訳) の第6章(Cメソッドとクラスの詳細)の理解度チェック4、5を解いてみる。
4.
コード
using System;
public class Test
{
private int a;
public Test(int a)
{
this.a = a;
}
public int A
{
get { return a; }
set { a = value; }
}
public void Swap(Test t1, Test t2)
{
int tmp = t1.a;
t1.a = t2.a;
t2.a = tmp;
}
public void Display()
{
Console.WriteLine(a);
}
}
class Tester
{
public void Run()
{
Test t1 = new Test(10);
Test t2 = new Test(20);
Console.WriteLine(
"{0}, {1}", t1.A, t2.A);
t1.Swap(t1, t2);
Console.WriteLine(
"{0}, {1}", t1.A, t2.A);
}
static void Main()
{
Tester t = new Tester();
t.Run();
}
}
入出力結果(Console Window)
10, 20 20, 10 続行するには何かキーを押してください . . .
5.
問題のコードは正しくない。methメソッドの引数の数が同じでぶつかってる。引数の数が異なればメソッドのオーバーロードとなり正しい。
正しいコードにしてみる。
コード
using System;
public class X
{
public int meth(int a, int b)
{
return a + b;
}
public string meth()
{
return "Hello, World!";
}
}
class Tester
{
public void Run()
{
X x = new X();
Console.WriteLine(x.meth(5, 10));
Console.WriteLine(x.meth());
}
static void Main()
{
Tester t = new Tester();
t.Run();
}
}
入出力結果(Console Window)
15 Hello, World! 続行するには何かキーを押してください . . .
0 コメント:
コメントを投稿