用C++编写一个简单程序
创建2个类,基类是Person,派生类是Employee,实现构造函数和析构函数,写一个测试程序测试这2个类。在这2个类中要有能输出属性的方法,如,姓名,性别,年龄等。在...
创建2个类,基类是Person,派生类是Employee,实现构造函数和析构函数,写一个测试程序测试这2个类。
在这2个类中要有能输出属性的方法,如,姓名,性别,年龄等。在Employee类中还要有能够计算工资的方法。
测试程序中要表明析构函数何时被调用 展开
在这2个类中要有能输出属性的方法,如,姓名,性别,年龄等。在Employee类中还要有能够计算工资的方法。
测试程序中要表明析构函数何时被调用 展开
4个回答
展开全部
#include <iostream.h>
class Person
{
public:
int age;
int sex;
char name[16];
public:
Person(char N[],int a,int s)
{
for(int i=0;i<16;i++)
name[i]=N[i];
age=a;
sex=s;
}
~Person(){cout<<"调用person析构函数..."<<endl;cout<<"person析构函数完毕!"<<endl;}
void getAge(){cout<<"年龄:"<<age<<endl;}
void getSex()
{
if(sex!=0)
cout<<"性别:"<<"男"<<endl;
else
cout<<"性别:"<<"女"<<endl;
}
void getName(){cout<<"姓名:";for(int i=0;i<16 && name[i]!='\0';i++)cout<<name[i];cout<<endl;}
};
class Employee: public Person
{
public:
Employee(char N[],int a,int s):Person(N,a,s){};
~Employee()
{
cout<<"调用Employee析构函数..."<<endl;
cout<<"Employee析构函数完毕!"<<endl;
};
double payout(double s,int d)
{
double pay=0;
pay=s*d;
return pay;
}
};
void main()
{
char n[10]="Junson";
Person p(n,16,1);
p.getName();
p.getAge();
p.getSex();
char m[10]="Marry";
Employee emp(m,18,0);
emp.getName();
emp.getAge();
emp.getSex();
double pay=0;
pay=emp.payout(22.5,22);
cout<<"应付工资:"<<pay<<endl;
}
class Person
{
public:
int age;
int sex;
char name[16];
public:
Person(char N[],int a,int s)
{
for(int i=0;i<16;i++)
name[i]=N[i];
age=a;
sex=s;
}
~Person(){cout<<"调用person析构函数..."<<endl;cout<<"person析构函数完毕!"<<endl;}
void getAge(){cout<<"年龄:"<<age<<endl;}
void getSex()
{
if(sex!=0)
cout<<"性别:"<<"男"<<endl;
else
cout<<"性别:"<<"女"<<endl;
}
void getName(){cout<<"姓名:";for(int i=0;i<16 && name[i]!='\0';i++)cout<<name[i];cout<<endl;}
};
class Employee: public Person
{
public:
Employee(char N[],int a,int s):Person(N,a,s){};
~Employee()
{
cout<<"调用Employee析构函数..."<<endl;
cout<<"Employee析构函数完毕!"<<endl;
};
double payout(double s,int d)
{
double pay=0;
pay=s*d;
return pay;
}
};
void main()
{
char n[10]="Junson";
Person p(n,16,1);
p.getName();
p.getAge();
p.getSex();
char m[10]="Marry";
Employee emp(m,18,0);
emp.getName();
emp.getAge();
emp.getSex();
double pay=0;
pay=emp.payout(22.5,22);
cout<<"应付工资:"<<pay<<endl;
}
展开全部
不要乱说,,这不是全排列,而且也不需要用栈...只是像栈一样就可以了...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不用栈可以不,这就是一个全排列问题。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
让你来吧,走了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询