2014-11-17 197 views
-1

我正在做一个应用程序来跟踪公司中的员工。有不同类的雇员,都从抽象类Employee继承。我想要的是在Employee类中定义一个静态变量,它将代表每个员工初始化后将赋予的id,然后递增。因此,我的问题是,如何为类Manager实现构造函数它是从Employee继承的,而不是传递一个ID作为参数,但是一旦它到达Employee类的构造函数就会被确定。C中的继承和构造函数#

+0

你不能有一个静态变量,它是每一个类的实例是唯一的。 –

+0

我知道,但我想将静态变量的值传递给继承自Employee的类中的新非静态变量 – user3791178

+5

这是家庭作业,显示对主题的理解很差,没有示例代码,不清楚精通。 –

回答

0
class Employee 
{ 
    static int _empCount = 0; 
    static int GetNextEmployeeId() 
    { 
     _empCount++; 
     return _empCount; 
    } 

    public int EmployeeId { get; private set; } 

    public Employee() 
    { 
     EmployeeId = GetNextEmployeeId(); 
    } 
} 
+0

好的,这比我想像的要简单得多,谢谢 – user3791178

+0

欢迎您点赞upvote任何你认为有用的答案... – ShayD

0

命名空间PROJECT1 {

class Employee 
{ 

    static int lastId; 

    protected int id; 

    public Employee() 
    { 
     this.id = lastId + 1; 
     lastId = this.id; 
    } 


} 

class Manager : Employee 
{ 
    public Manager() : base() { } 
} 

class Accountant : Employee 
{ 
    public Accountant() : base() { } 
} 

}

+0

你应该改正你的代码的格式。每行前添加4个空格。删除空行 – rtruszk