happylty 2015-06-25 00:10 采纳率: 0%
浏览 612

小白求助 C++编程 急 在线等

1、定义一个职工类CWorker,数据成员包括姓名、职工号、工龄、工资;成员函数有构造函数,设置数据成员值的函数,读取数据成员值的函数。在主函数中定义对象数组,再编写一个CWorker类的友元函数,计算平均工资,查找最高工资。

2、设计一个职工类CWorker,成员包括姓名、职工号、工龄、工资及相关的成员函数。由它派生出教师类CTeacher,包括职称,所属部门等属性和相关的成员函数。编写一个主函数,对设计的类进行测试。

  • 写回答

1条回答 默认 最新

  • ChatGPTᴼᴾᴱᴺᴬᴵ 2023-05-27 15:27
    关注

    该回答引用ChatGPT-3.5,仅供参考,不保证完全正确

    以下是两个问题的解决方案:


    问题1:

    #include <iostream>
    #include <string>
    
    using namespace std;
    
    class CWorker {
    private:
        string name;
        string workerID;
        int yearsOfService;
        double salary;
    
    public:
        CWorker(string n, string id, int years, double sal) {
            name = n;
            workerID = id;
            yearsOfService = years;
            salary = sal;
        }
    
        void setName(string n) {
            name = n;
        }
    
        void setWorkerID(string id) {
            workerID = id;
        }
    
        void setYearsOfService(int years) {
            yearsOfService = years;
        }
    
        void setSalary(double sal) {
            salary = sal;
        }
    
        string getName() {
            return name;
        }
    
        string getWorkerID() {
            return workerID;
        }
    
        int getYearsOfService() {
            return yearsOfService;
        }
    
        double getSalary() {
            return salary;
        }
    
        friend double calculateAverageSalary(CWorker* workers, int numWorkers);
        friend double findMaxSalary(CWorker* workers, int numWorkers);
    };
    
    double calculateAverageSalary(CWorker* workers, int numWorkers) {
        double totalSalary = 0;
        for (int i = 0; i < numWorkers; i++) {
            totalSalary += workers[i].salary;
        }
        return totalSalary / numWorkers;
    }
    
    double findMaxSalary(CWorker* workers, int numWorkers) {
        double maxSalary = workers[0].salary;
        for (int i = 1; i < numWorkers; i++) {
            if (workers[i].salary > maxSalary) {
                maxSalary = workers[i].salary;
            }
        }
        return maxSalary;
    }
    
    int main() {
        const int numWorkers = 3;
        CWorker workers[numWorkers] = {
            CWorker("John", "W001", 5, 5000.0),
            CWorker("Jane", "W002", 10, 7000.0),
            CWorker("Mike", "W003", 3, 4000.0)
        };
    
        double averageSalary = calculateAverageSalary(workers, numWorkers);
        double maxSalary = findMaxSalary(workers, numWorkers);
    
        cout << "Average Salary: " << averageSalary << endl;
        cout << "Max Salary: " << maxSalary << endl;
    
        return 0;
    }
    

    问题2:

    #include <iostream>
    #include <string>
    
    using namespace std;
    
    class CWorker {
    protected:
        string name;
        string workerID;
        int yearsOfService;
        double salary;
    
    public:
        CWorker(string n, string id, int years, double sal) {
            name = n;
            workerID = id;
            yearsOfService = years;
            salary = sal;
        }
    
        void setName(string n) {
            name = n;
        }
    
        void setWorkerID(string id) {
            workerID = id;
        }
    
        void setYearsOfService(int years) {
            yearsOfService = years;
        }
    
        void setSalary(double sal) {
            salary = sal;
        }
    
        string getName() {
            return name;
        }
    
        string getWorkerID() {
            return workerID;
        }
    
        int getYearsOfService() {
            return yearsOfService;
        }
    
        double getSalary() {
            return salary;
        }
    };
    
    class CTeacher : public CWorker {
    private:
        string title;
        string department;
    
    public:
        CTeacher(string n, string id, int years, double sal, string t, string dept) 
            : CWorker(n, id, years, sal) {
            title = t;
            department = dept;
        }
    
        void setTitle(string t) {
            title = t;
        }
    
        void setDepartment(string dept) {
            department = dept;
        }
    
        string getTitle() {
            return title;
        }
    
        string getDepartment() {
            return department;
        }
    };
    
    int main() {
        CTeacher teacher("John", "T001", 5, 5000.0, "Professor", "Mathematics");
    
        cout << "Name: " << teacher.getName() << endl;
        cout << "Worker ID: " << teacher.getWorkerID() << endl;
        cout << "Years of Service: " << teacher.getYearsOfService() << endl;
        cout << "Salary: " << teacher.getSalary() << endl;
        cout << "Title: " << teacher.getTitle() << endl;
        cout << "Department: " << teacher.getDepartment() << endl;
    
        return 0;
    }
    

    这两个例子提供了C++中的类定义、成员函数定义、构造函数、继承和友元函数的使用。希望对你有所帮助!如果有任何问题,请随时提问。

    评论

报告相同问题?

悬赏问题

  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题