声明employee类
时间: 2023-10-24 08:07:00 浏览: 50
下面是一个简单的employee类的声明示例:
```cpp
class Employee {
private:
string name;
int age;
double salary;
public:
Employee(string name, int age, double salary); // constructor
string getName();
int getAge();
double getSalary();
void setName(string name);
void setAge(int age);
void setSalary(double salary);
void printInfo();
};
```
该类具有私有成员变量name、age和salary,以及公有成员函数getName、getAge、getSalary、setName、setAge、setSalary和printInfo。构造函数也被声明,用于在创建对象时初始化成员变量。这个类可以用来表示一个雇员,包括他们的姓名、年龄和薪水,并提供一些方法来获取和设置这些属性以及打印信息。
相关问题
声明employee类在成员函数中用构造函数初始化成员
在C++中,可以在类的成员函数中使用构造函数来初始化类的成员变量。这通常是通过在成员函数中使用成员初始化列表来实现的。
例如,假设我们有一个名为Employee的类,其中包含两个成员变量:name和age。我们可以在类的构造函数中初始化这些成员变量,也可以在成员函数中使用构造函数来初始化它们。下面是使用成员函数初始化的示例:
```c++
class Employee {
public:
Employee() {}
void setInfo(const std::string& name, int age) {
// 使用构造函数初始化成员变量
this->name = std::string(name);
this->age = int(age);
}
private:
std::string name;
int age;
};
```
在上面的代码中,setInfo()成员函数使用构造函数来初始化name和age成员变量。注意,我们需要使用this指针来引用类的成员变量。
定义Employee类: 属性salary(工资) 定义salary的getter和setter 定义print,返回salary的值; 定义Manager为Employee的子类: 定义属性allowance(津贴) 定义构造方法,用参数给salary和allowance赋值。 重写print方法,返回salary与allowance的和。 在Demo类中编写main方法,声明Employee类的对象p1,为其创建Employee对象,设置salary为5000,声明Employee类的对象p2,为其创建Manager类对象,设置salary为6000,allowance为2000,分别调用p1和p2的print方法获取工资并返回。
下面是你要求的代码实现:
```java
// 定义Employee类
class Employee {
private int salary;
public int getSalary() {
return salary;
}
public void setSalary(int salary) {
this.salary = salary;
}
public int print() {
return salary;
}
}
// 定义Manager类,继承Employee类
class Manager extends Employee {
private int allowance;
public Manager(int salary, int allowance) {
setSalary(salary);
this.allowance = allowance;
}
@Override
public int print() {
return getSalary() + allowance;
}
}
// 在Demo类中编写main方法
public class Demo {
public static void main(String[] args) {
// 创建Employee对象p1
Employee p1 = new Employee();
p1.setSalary(5000);
System.out.println("Employee工资:" + p1.print());
// 创建Manager对象p2
Manager p2 = new Manager(6000, 2000);
System.out.println("Manager工资:" + p2.print());
}
}
```
输出结果为:
```
Employee工资:5000
Manager工资:8000
```
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)