定义一个Employee类,其中包括表示姓名、地址等等

方案一

定义一个Employee类,其中包括表示姓名、地址等等,附带注释

#include <iostream>
#include <string>
#include<cstring>
using namespace std;


class Employee		//定义Employee类,默认为私有成员函数类
{			//修饰的类成员,表示类成员被访问控制的权限
private:				//私有成员函数,基类、友元可以访问,子类、外部不可以访问
	char name[20];			
	char str[20];
	char city[20];				//	变量定义描述一个数组,数组名city由20个char类型变量组成
	char prov[20];
	char id[20];
public:				//外部接口,公有成员,基类、子类、友元、外部都可以访问
	Employee(const char*, const char*, const char*, const char*, const char*);		//构造函数,定义指向字符常量的指针
	void ChangeName(const char*);
	void display();			//显示该类对象的值
};
//构造函数
Employee::Employee(const char* na, const char* st, const char* ci, const char* pr, const char* i) 
{
	strcpy_s(name, na);
	strcpy_s(str, st);
	strcpy_s(city, ci);
	strcpy_s(prov, pr);
	strcpy_s(id, i);
}

void Employee::ChangeName(const char* cna)			//函数类型 类名 函数名 参量
{
	strcpy_s(name, cna);
}

void Employee::display()	  //使用cout显示成员属性
{  
	cout << name << "  " << str << "  " << city << "  " << prov << "  " << id << endl;
}

int main()		//主函数 
{
	Employee x("xxx", "中国", "江西省", "九江市", "332099");
	x.display();//对象.函数名字()  调用函数
	x.ChangeName("许xx");     //改变对象的姓名属性
	x.display();
	char name[20], str[20], city[20], prov[20], id[20];
}

方案二

定义一个Employee类,其中包括表示姓名、地址等等,附带注释

#include <iostream>
#include <string>
using namespace std;

class Employee		//定义Employee类,默认为私有成员函数类
{
string Name; //姓名
string Address; //街道地址
string City; //城市
string Postcode; //邮编
public:				//外部接口,公有成员,基类、子类、友元、外部都可以访问
Employee(string name,string address,string city,string postcode) //构造函数
{
Name=name; Address=address; City=city; Postcode=postcode;
}
~Employee(){} //析构函数
void ChangeName(string name); //改变对象的姓名
void Display(); //输出函数,显示姓名、街道地址、城市和邮编等数据成员
};
void Employee::ChangeName(string name) //改变对象的姓名
{
Name=name;		//把新的姓名赋给类的成员Name,从而达到改变对象姓名的目的
} 
void Employee::Display() //输出函数,显示姓名、街道地址、城市和邮编等数据成员
{
cout<<Name<<" "<<Address<<" "<<City<<" "<<Postcode<<endl;
}

void main()
{
Employee x("许某人", "明月山大道", "南昌", "330000");
x.Display();
x.ChangeName("许xx");
x.Display();
}

  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,下面是用中文回复: 首先,我们需要定义一个employee,其中包含员工的基本信息,如姓名、年龄、性别等等。同时,我们还需要在中增加一个静态数据成员,用来设置本公司员工编号基数。 具体实现方法如下: class Employee: base_num = 10000 # 员工编号基数 def __init__(self, name, age, gender): self.name = name self.age = age self.gender = gender self.num = Employee.base_num # 新增员工编号 Employee.base_num += 1 # 基数自增 def show_info(self): print("姓名:{},年龄:{},性别:{},员工编号:{}".format(self.name, self.age, self.gender, self.num)) # 创建两个员工对象 emp1 = Employee("张三", 25, "男") emp2 = Employee("李四", 30, "女") # 输出员工信息 emp1.show_info() emp2.show_info() 运行结果如下: 姓名:张三,年龄:25,性别:男,员工编号:10000 姓名:李四,年龄:30,性别:女,员工编号:10001 可以看到,我们成功地定义了一个employee,并在其中增加了一个静态数据成员,用来设置员工编号基数。同时,我们还在的构造函数中新增了员工编号,并在创建对象的同时自动在基数上增加。最后,我们创建了两个员工对象,并输出了他们的信息,其中包括员工编号。 ### 回答2: Employee是一个用来表示公司员工的,其中包括员工姓名、员工编号、员工工资等基本信息。为了方便管理和统计员工信息,我们可以在Employee中增加一个静态数据成员用来设置本公司员工编号基数。 静态数据成员的特殊成员,可以被所有的对象所共享。我们可以将员工编号基数设置为静态数据成员,并在的构造函数中自增员工编号基数。这样,每次创建一个新的Employee对象时,都会自动在员工编号基数上增加。下面是一个示例代码: ```cpp #include <iostream> #include <string> using namespace std; class Employee { public: Employee(string name, double salary) : name(name), salary(salary) { id = base_id++; } void print_info() { cout << "Name: " << name << endl; cout << "ID: " << id << endl; cout << "Salary: " << salary << endl; } private: string name; double salary; static int base_id; int id; }; int Employee::base_id = 10000; // 初始员工编号基数为10000 int main() { Employee e1("张三", 5000); e1.print_info(); Employee e2("李四", 6000); e2.print_info(); return 0; } ``` 在这个示例代码中,我们定义了一个Employee,其中包含了员工姓名、工资、员工编号等成员变量。我们将员工编号基数设置为静态成员变量base_id,并将其初始值设置为10000。在的构造函数中,我们使用自增运算符将员工编号基数加1,并赋值给当前对象的id成员变量。 在主函数中,我们创建了两个员工对象e1和e2,分别表示张三和李四。因为是第一个创建的对象,所以e1的编号是基数加1后的结果,为10001;同理,e2的编号为10002。最后,我们调用print_info函数分别输出了两个员工的信息。 通过这个示例,我们可以看到,静态成员变量的作用非常方便,可以在多个对象之间共享信息,并且在的构造函数中可以用来自增或自减,从而实现自动编号等功能。 ### 回答3: 员工Employee Class)是指用来描述一名员工的,在这个中可以定义员工的各种属性和方法。为了满足题目中的要求,我们需要在Employee中增加一个静态数据成员,用来设置本公司员工编号的基数,并在创建对象的时候自动在基数上增加。 首先,我们需要定义一个Employee,其中包含员工的姓名、年龄、性别和工号等属性。在中增加一个静态数据成员baseNumber来设置员工编号的基数。然后,我们需要在的构造函数中设置员工的编号。 ```c++ class Employee{ public: Employee(string name, int age, string gender): m_name(name), m_age(age), m_gender(gender) { m_id = ++baseNumber; } void display() { cout << "姓名:" << m_name << endl; cout << "年龄:" << m_age << endl; cout << "性别:" << m_gender << endl; cout << "工号:" << m_id << endl; } static int baseNumber; private: string m_name; //姓名 int m_age; //年龄 string m_gender; //性别 int m_id; //工号 }; int Employee::baseNumber = 1000; ``` 在构造函数中,我们实现了自动为员工增加工号的功能。因为baseNumber是静态数据成员,每次创建对象时,都会自动增加1的值。 接下来,我们可以通过实例化Employee,并调用display()函数来显示员工信息。下面是示例代码: ```c++ int main() { Employee emp1("张三", 25, "男"); Employee emp2("李四", 30, "女"); emp1.display(); emp2.display(); return 0; } ``` 在上面的代码中,定义了两个员工,分别叫做“张三”和“李四”,并分别输出员工的信息。输出结果如下: ``` 姓名:张三 年龄:25 性别:男 工号:1001 姓名:李四 年龄:30 性别:女 工号:1002 ``` 可以看到,输出结果中,员工的工号是自动增加的,而且都是从1001开始编号的,符合设置的基数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值