定义一个employee类 其中包括表示姓名 地址 城市和邮编属性,包括setname ()和d
发布网友
发布时间:2022-04-30 23:31
我来回答
共1个回答
热心网友
时间:2023-10-08 14:07
#include<iostream>
#include<string>
using namespace std;
class Employee{
public:
Employee(string n,string a,string c,string p)
{
name=n;
adress=a;
city=c;
postcode=p;
}
Employee(Employee &e);
void setName(char *n);//2.跟这里对应而已,因为存放名字要用
//到符数组或符串,你也可以把参数改为char n[],或string n,下面的也可改过来
void display();
private:
string name;
string adress;
string city;
string postcode;
};
void Employee::setName(char *n)//1.为什么要引入一个指针形参
{
cin>>n;//3.n在这里被重新赋值
name=n;
}
void Employee::display()
{
cout<<name<<" "<<adress<<" "<<city<<" "<<postcode<<endl;
}
int main()
{
string n,a,c,p;
getline(cin,n);
getline(cin,a);
getline(cin,c);
getline(cin,p);
Employee e(n,a,c,p);
e.display();
e.setName(&p[0]); //4.所以参数里只要是一个指针就行了,输出结果只跟你的输入有关
e.display();
return 0;
}追问那个指针是加着没用的 然后我现在不理解为什么会一直用到析构函数 刚学 不太会用