作业帮 > 综合 > 作业

求大神看看我的这段程序出了什么毛病,

来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/04/20 07:33:03
求大神看看我的这段程序出了什么毛病,
#include
using namespace std;
class Employee
{
public:
\x05Employee(int pId,char* pName,int pAge);
\x05~Employee();
\x05friend class Manager;
private:
\x05int id;
\x05char* name;
\x05int age;
};
class Manager
{
public:
\x05Manager(int pId,char* pName,int pAge);
\x05~Manager();
\x05void Manager::printEmployee(Employee&employee);
private:
\x05int id;
\x05char* name;
\x05int age;
};
Manager::Manager(int pId,char* pName,int pAge)
{
\x05id=pId;
\x05name=new char[strlen(pName)+1];
\x05if(name!=0)
\x05 strcpy(name,pName);
\x05age=pAge;
\x05cout
求大神看看我的这段程序出了什么毛病,
m打错了 应该是m1吧
你定义的是m1 调用的是m

修改后
#include<iostream>
#include<cstring>
using namespace std;

class Employee
{
public:
\x05Employee(int pId,char* pName,int pAge);
\x05~Employee();
\x05friend class Manager;
    
private:
\x05int id;
\x05char* name;
\x05int age;
};
class Manager
{
public:
\x05Manager(int pId,char* pName,int pAge);
\x05~Manager();
\x05void printEmployee(Employee&employee);
private:
\x05int id;
\x05char* name;
\x05int age;
};
Manager::Manager(int pId,char* pName,int pAge)
{
\x05id=pId;
\x05name=new char[strlen(pName)+1];
\x05if(name!=0)
\x05   strcpy(name,pName);
\x05age=pAge;
\x05cout<<"Contructed with all parameters."<<endl;
}
Employee::Employee(int pId,char* pName,int pAge)
{
\x05id=pId;
\x05name=new char[strlen(pName)+1];
\x05if(name!=0)
\x05   strcpy(name,pName);
\x05age=pAge;
\x05cout<<"Contructed with all parameters."<<endl;
}
Manager::Manager()
{
\x05delete[] name;
\x05cout<<"Decontructed."<<endl;
}
Employee::Employee()
{
\x05delete[] name;
\x05cout<<"Decontructed."<<endl;
}
void Manager::printEmployee(Employee&employee)
{
\x05cout<<"id:"<<employee.id<<","<<"name:"<<employee.name<<","<<"age:"<<employee.age<<endl;
}
int main()
{
\x05Manager m1(1001,"zhangsan",22);
\x05Employee e1(1003,"maliu",23);
\x05m1.printEmployee(e1);
\x05return 0;
}