C#继承与构造函数的问题
来源:百度知道 编辑:UC知道 时间:2024/06/06 00:01:48
using System;
class Myclass<T>
{
T pri_width;
T pri_height;
public Myclass(T w, T h)
{
width = w;
height = h;
}
public Myclass(T ob)
{
width = ob.width;
height = ob.height;
}
public T width
{
get
{
return pri_width;
}
set
{
pri_width = value;
}
}
public T height
{
get
{
return pri_height;
}
set
{
pri_height = value;
}
}
}
class Test<T,V>: Myclass<T>
{
public Test(V x, V y) : base(x, y) { }
class Myclass<T>
{
T pri_width;
T pri_height;
public Myclass(T w, T h)
{
width = w;
height = h;
}
public Myclass(T ob)
{
width = ob.width;
height = ob.height;
}
public T width
{
get
{
return pri_width;
}
set
{
pri_width = value;
}
}
public T height
{
get
{
return pri_height;
}
set
{
pri_height = value;
}
}
}
class Test<T,V>: Myclass<T>
{
public Test(V x, V y) : base(x, y) { }
在基类中
width 定义与重载1参数 obj是同一类型,
你基类中T没有where限定,哪来T类型的width,heigth呢?
??迷....,
基类的定义是不合逻辑
你想想他自己已表示一个宽,怎么又有一个宽和高的属性?
当他是一个宽与高集合的类,又怎么........
class Test<T,V>: Myclass<T>这个写得更是莫名
你使用base(x,y)这里x,y是T类型
你又指定个V类弄做什么?
看来楼主是刚学泛型啊,勇气可嘉,欢迎来讨论