ふらっとC#,C♯,C#(初心者用) Part36
■ このスレッドは過去ログ倉庫に格納されています
0079デフォルトの名無しさん
2009/01/23(金) 04:54:54のオブジェクトを受け取るコンストラクタに渡して、Triangleオブジェクトt2を作成しているのですが、その際
t2を作る過程で、コンストラクタ内で、t1の“private”なはずのstyleにアクセスできてしまうの理由が分からず
悩んでいます。
同じクラスから生成されたインスタンス同士なら、privateな部分も見れるってことなのでしょうか・・・。
ご教授お願いします。
(独習C#第2版という本の抽象クラスの部分を読んでいるときに出くわした疑問ですが、抽象クラスには関係ないので、
370-373ページのコードを参考に短いコードを書きました。)
class Triangle {
string style;
public Triangle(string s) {
style = s;
}
public Triangle(Triangle ob) {
style = ob.style; //t2のインスタンスを作っているとき、t1のprivateなメンバにアクセスできてしまう!
}
}
class Demo {
public static void Main() {
Triangle t1 = new Triangle("right");
Triangle t2 = new Triangle(t1);
}
}
■ このスレッドは過去ログ倉庫に格納されています