我创建了一个对象,怎么用复制构造函数来复制它的成员给另一个对象,而且还可以修改部分成员?

#include
#include
using namespace std;
class Employee{
public:

Employee()

{
name="张三";
adress="北京大学";
city="北京市";
postcode="421001";
}

Employee(Employee &e){
};
void setname(string *n);
void setadress(string *a);
void setcity(string *c);
void setpostcode(string *p);

void display();
private:
string name;
string adress;
string city;
string postcode;
};

void Employee::setname(string n)
{
name=n;
}
;

void Employee::setadress(string a)
{
adress=a;
};

void Employee::setcity(string c)
{
city=c;
};

void Employee::setpostcode(string p)
{
postcode=p;
};
void Employee::display()
{
cout<<"name="<<name<<endl;
cout<<"adress="<<adress<<endl;
cout<<"city="<<city<<endl;
cout<<"postcode="<<postcode<<endl;
};

int main()
{
string n,a,c,p;
Employee E1,E2;
cin>>n>>a>>c>>p;
E1.setname(&n);
E1.setadress(&a);
E1.setcity( &c);
E1.setpostcode(&p);
E1.display();

return 0;
}
我还想创建一个E2的对象,它是由E1复制而来的,并且还可以修改复制而来的成员,怎么用复制构造函数来实现呢?

复制构造函数只能复制,修改的话需要调用成员函数来修改。
你的代码中需要添加get方法来获取成员变量,这样在赋值构造函数中才能获取e的属性。
你的代码中还有一些错误,set方法中不需要用指针。
代码修改如下:

#include <iostream>
#include <string>
using namespace std;
class Employee{
public:

    Employee()
    {
        name="张三";
        adress="北京大学";
        city="北京市";
        postcode="421001";
    }

    Employee(Employee &e){
        this->name = e.getname();
        this->city = e.getcity();
        this->adress = e.getadress();
        this->postcode = e.getpostcode();
    };
    void setname(string n);
    void setadress(string a);
    void setcity(string c);
    void setpostcode(string p);


    string getname(){return name;}
    string getadress(){return adress;}
    string getcity(){return city;}
    string getpostcode(){return postcode;}

    void display();
private:
    string name;
    string adress;
    string city;
    string postcode;
};

void Employee::setname(string n)
{
    name=n;
}
;

void Employee::setadress(string a)
{
    adress=a;
};

void Employee::setcity(string c)
{
    city=c;
};

void Employee::setpostcode(string p)
{
    postcode=p;
};
void Employee::display()
{
    cout<<"name="<<name<<endl;
    cout<<"adress="<<adress<<endl;
    cout<<"city="<<city<<endl;
    cout<<"postcode="<<postcode<<endl;
};

int main()
{
    string n,a,c,p;
    Employee E1;
    cin>>n>>a>>c>>p;
    E1.setname(n);
    E1.setadress(a);
    E1.setcity(c);
    E1.setpostcode(p);
    E1.display();

    Employee E2(E1); //调用复制构造函数
    E2.setname("haha"); //调用方法修改属性

    return 0;
}

Employee(Employee &e),这就是复制构造函数啊,但你写了个空的啊