c#不包含采用“0”的构造函数

usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespa... using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace mlh130315
{
public class human //类
{
float x; //字段
float y;
float z;
float X
{
get
{ return x; }
set
{
if (value > 0)
x = value;
else x = 0;
}
}
public float Y
{
get
{ return y; }
set
{
if (value > 0)
y = value;
else y = 0;
}
}
public float Z
{
get
{ return z; }
set
{
if (value > 0)
z = value;
else z = 0;
}
}
public human(float x,float y,float z)//构造函数
{
this.X= x;
this.Y= y;
this.Z = z;
// Console.WriteLine("I am father");
}
public float add()//方法
{
return x + y + z;
}
}
public class shuman : human
{
float x;
float y;
float z;
public shuman (float x,float y,float z)
{
this.x = x;
this.y = y;
this.z = z;
// Console.WriteLine("I am son !");
}
}

class Program
{
static void Main(string[] args)
{
human ahuman = new human(1, 2, 3);
Console.WriteLine(ahuman.add());
shuman bhum = new shuman(1, 2, 3);
Console.WriteLine(bhum.add());
}
}
}
展开
 我来答
benguahao
推荐于2017-12-16 · TA获得超过280个赞
知道小有建树答主
回答量:328
采纳率:0%
帮助的人:186万
展开全部
你好,子类继承父类,构造函数是默认调用父类的无参的构造函数,
子类的构造函数默认都调用了
public Shuman(float x, float y, float z):base() {}

你需要在子类的带参构造函数调用父类的同样签名的构造函数

或者直接在父类显示声明无参构造函数

public Shuman(float x, float y, float z)
: base(x, y, z)
{
}

而且你无需在shuman里加上赋值操作,自动继承了父类的属性了。

有点乱,反正两个办法,一个是父类直接声明一个无参构造函数,而是子类指明调用的是父类的哪个构造函数
她是我的小太阳
高粉答主

推荐于2018-03-29 · 醉心答题,欢迎关注
知道顶级答主
回答量:5.1万
采纳率:83%
帮助的人:8908万
展开全部
子类继承父类,构造函数是默认调用父类的无参的构造函数,子类的构造函数默认都调用了。
public Shuman(float x, float y, float z):base() {}

需要在子类的带参构造函数调用父类的同样签名的构造函数,或者直接在父类显示声明无参构造函数。

public Shuman(float x, float y, float z)
: base(x, y, z)
{
}

而且无需在shuman里加上赋值操作,自动继承了父类的属性了。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-03-15
展开全部
两种做法:1. 在shuman中,改为 C#中的继承,父类,与子类具有相同参数的构造函数时,用base........代表父类。

public shuman(float x,float y,float z)
: base(x,y,z) {

}
2.

在human中 手动添加无参的构造函数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Hope_李
2013-03-15 · TA获得超过141个赞
知道小有建树答主
回答量:329
采纳率:33%
帮助的人:200万
展开全部
public class human //类
{
父类中必须有无参构造函数
public human(){}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-03-15
展开全部
public human()
{

}
添加多一个就没事了
追问
什么意思,还是不懂,麻烦说清楚点
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式