C++作业实验7继承与派生-创新互联
定义一个 Lingjian 类,拥有整型的数据成员 Weight 和静态数据成员 AllWeights(初始化为 0),每定义一个对象时, 在AllWeights 中增加该零件的重量 Weight;在析构函数中减去 Weight;静态成员函数 GetAllWeights()获取AllWeights。设计程序,定义两个对象之后, 输出类的 AllWeights。其中 Weight 是通过成员函数输入对单个零件重量赋值。
创新互联是专业的辽宁网站建设公司,辽宁接单;提供网站建设、成都网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行辽宁网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!源代码#includeusing namespace std;
class Lingjian
{
private:
int Weight;
static int AllWeights;
public:
static int GetAllWeights()
{
cout<< AllWeights<< endl;
}
Lingjian(int weight)
{
Weight = weight;
AllWeights += Weight;
}
~Lingjian()
{
AllWeights -= Weight;
}
};
int Lingjian::AllWeights = 0;
int main()
{
int a,b;
cin>>a>>b;
Lingjian P1(a),P2(b);
Lingjian::GetAllWeights() ;
return 0;
}
2
题目描述定义狮子 Lion与老虎 Tiger 两个类,二者都有 weight 私有整型属性,定义二者的一个友元函数totalWeight(参数表),计算二者的重量和。设计程序,定义狮子与老虎两个对象之后,调用 totalWeight(参数表),计算二者的重量和,然后输出。其中狮子与老虎的 Weight 是在各自的类成员函数中读数赋值。
源代码#includeusing namespace std;
class Tiger;
class Lion;
class Lion
{
private:
int Weight;
public:
Lion(int weight)
{
Weight = weight;
}
friend int totalWeight(Lion &P1,Tiger &P2);
};
class Tiger
{
private:
int Weight;
public:
Tiger(int weight)
{
Weight = weight;
}
friend int totalWeight(Lion &P1,Tiger &P2);
};
int totalWeight(Lion &P1,Tiger &P2)
{
cout<< (P1.Weight + P2.Weight);
}
int main()
{
int l,t;
cin >>l >>t;
Lion P1(l);
Tiger P2(t);
totalWeight(P1,P2);
return 0;
}
3
题目描述集合是由一个或多个确定的元素所构成的整体。集合的运算有并、交、相对补等。
集合A和集合B的交集:由属于A且属于B的相同元素组成的集合。
集合A和集合B的并集:由所有属于集合A或属于集合B的元素所组成的集合。
集合B关于集合A的相对补集,记做A-B:由属于A而不属于B的元素组成的集合。
假设集合A={10,20,30},集合B={1,10,50,8}。则A与B的并是{10,20,30,1,50,8},A与B的交是{10},B关于A的相对补集是{20,30}。
定义整数集合类CSet,属性包括:集合中的元素个数n,整型指针data存储集合中的元素。
主函数输入集合A、B的数据,计算集合的并、交、相对补。
可根据题目,为CSet类添加需要的成员函数。
方法有:重载输出,按样例格式输出集合中的元素。
重载+运算符,求集合A和集合B的并集,并返回结果集合。 重载-运算符,求集合B关于集合A的相对补集,并返回结果集合。 重载*运算符,求集合A和集合B的交集,并返回结果集合。
源代码#includeusing namespace std;
class CSet
{
public:
CSet(){}
CSet(int n1,int *p)
{
n=n1;
for(int i=0;i>t;
for(int i=0;i>n1;
int p1[n1] = {0};
for(int j=0;j>p1[j];
}
CSet A(n1,p1);
cin>>n2;
int p2[n2] = {0};
for(int j=0;j>p2[j];
CSet B(n2,p2);
cout<<"A:";
A.display();
cout<<"B:";
B.display();
CSet C=A+B;
cout<<"A+B:";
C.display();
CSet D=A*B;
cout<<"A*B:";
D.display();
CSet e=A-B;
CSet f=B-A;
CSet g=e+f;
cout<<"(A-B)+(B-A):";
g.display();
cout<< endl;
}
return 0;
}
4
题目描述要求定义一个基类Point,它有两个私有的float型数据成员X,Y;一个构造函数用于对数据成员初始化;有一个成员函数void Move(float xOff, float yOff)实现分别对X,Y值的改变,其中参数xOff和yOff分别代表偏移量。另外两个成员函数GetX() 、GetY()分别返回X和Y的值。
Rectangle类是基类Point的公有派生类。它增加了两个float型的私有数据成员W,H; 增加了两个成员函数float GetH() 、float GetW()分别返回W和H的值;并定义了自己的构造函数,实现对各个数据成员的初始化。
编写主函数main()根据以下的输入输出提示,完成整个程序。
源代码#includeusing namespace std;
class Point
{
private:
float X,Y;
public:
Point(float x,float y)
{
X=x;
Y=y;
}
void Move(float xOff, float yOff)
{
X+=xOff;
Y+=yOff;
}
float GetX()
{
return X;
}
float GetY()
{
return Y;
}
};
class Rectangle:public Point
{
private:
float W, H;
public:
Rectangle(float X,float Y,float W,float H):Point(X, Y)
{
this->W = W;
this->H = H;
}
float GetH()
{
return H;
}
float GetW()
{
return W;
}
};
int main()
{
float X,Y,W,H,xOff,yOff;
cin >>X >>Y >>W >>H >>xOff >>yOff;
Rectangle P(X,Y,W,H);
P.Move(xOff,yOff);
cout<< P.GetX()<< " "<< P.GetY()<< " "<< P.GetW()<< " "<< P.GetH() ;
return 0;
}
5
题目描述定义一个基类Person,它有3个protected的数据成员:姓名name(char *类型)、性别 sex(char类型)、年龄age(int类型);一个构造函数用于对数据成员初始化;有一个成员函数show()用于输出数据成员的信息。
创建Person类的公有派生类Employee,增加两个数据成员 基本工资 basicSalary(int类型) 请假天数leaveDays(int型);为它定义初始化成员信息的构造函数,和显示数据成员信息的成员函数show()。
源代码#include#includeusing namespace std;
class Person
{
protected:
char name[30];
//char *name[30];
char sex;
int age;
public:
Person(char*Name,char Sex,int Age)
{
strcpy(name,Name);
sex = Sex;
age = Age;
}
void show()
{
cout<< "name:"<< name<>name >>s >>a >>b >>l;
Employee P(name,s,a,b,l);
P.show() ;
return 0;
}
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
本文名称:C++作业实验7继承与派生-创新互联
文章源于:http://scyanting.com/article/ccdopg.html