记得 点赞 评论 谢谢 收藏 也可
定义一个猫的信息类(Cat),使主函数调用该类可以打印猫的信息,具体要求如下:
(1)Cat类有两个私有数据成员,name(string 类型,表示名称)和count(int 类型,表示数量,静态数据成员)。 (2)为Cat类创建具有一个name参数的构造方法、复制构造函数以及析构函数;可以通过类变量count,完成cat实例的累加,统计猫的个数。 (3)showCount()函数为静态函数,按照示例输出格式打印猫的个数。
class Cat {
public :
// 注意 我们在 公有的 写出 各种函数
// 构造 函数
Cat(string name1) :name(name1) { count++; } // 我们 应该 这样写 : 然后他这样更 能理解以及高级
Cat(Cat & name2):name(name2.name) { count++; } // copy so we choose it to &.
// we konw this problem have ~hanshu () , so we should use ~ to solve it .
// if we copy we should use it name2.name .
~Cat() {
count--;
}
static void showCount() {
cout << "Object count = " << count;
}
private: // 我们 注意到 题目中 私有的 name count
string name;
static int count; // 静态 变量 题目说的
};
定义一个猫的信息类(Cat),使主函数调用该类可以打印猫的信息,具体要求如下:
(1)Cat类有三个私有数据成员,id(int 类型,表示编号)、name(string 类型,表示名称)和sid(int 类型,静态数据成员)。 (2)为Cat类创建具有一个name参数的构造方法、复制构造函数以及析构函数;可以通过类变量sid,完成cat实例的累加,并将累加值赋给id。 (3)info()函数按照示例输出格式打印猫的信息。
//请在这里编写类及相关函数
class Cat {
public:
Cat(string name1) :name(name1) {sid++, id = sid; }
Cat(Cat& name2) :name(name2.name) { sid++, id = sid; }
~Cat() {
sid--;
id=sid;
}
void info() {
cout << "My name is " << name << " ,No. " << sid << endl;
}
private:
int id;
string name;
static int sid;
};
1、定义一个线段类(Line),具体要求如下: (1)Line类使用Point类对象定义线段的两个端点值。 (2)为Line类增加有参构造函数Line,使得调用该构造函数时可以初始化两个端点值。 (3)Line类中定义一个公有函数:length(),表示两个端点的距离,它将返回double类型的距离数据。
2、定义一个三角形类(Triangle),具体要求如下: (1)Triangle类使用Point类对象定义三角形的三个顶点值。 (2)Triangle类使用重载的构造函数调用Line类返回double类型的三角形三条边的长度和面积。相关函数定义为:
double length1() 返回p1,p2的长度;
double length2() 返回p2,p3的长度;
double length3() 返回p3,p1的长度;
double area() 返回三角形的面积;
//请在此处按题目要求编写代码
//线段类
class Line {
public:
Point p1, p2;
Line(Point p1,Point p2):p1(p1),p2(p2){} // 由于 我们 这里用的 哪啥所以我们下面也得
double length(Point p1, Point p2) {
return p1.distanceTo(p2);
}
/*double length2(Point p2, Point p3) {
return p2.distanceTo(p3);
}
double length3(Point p3, Point p1) {
return p3.distanceTo(p1);
}*/
private:
};
class Triangle {
public : Triangle(Point p1,Point p2,Point p3):p1(p1),p2(p2),p3(p3){}
Point p1, p2, p3;
double length1() {
return Line(p1, p2).length(p1, p2);
}
double length2() {
return Line(p2, p3).length(p2, p3);
}
double length3() {
return Line(p3, p1).length(p3, p1);
}
double area() {
double q = (length1() + length2() + length3()) / 2;
return sqrt(q * (q - length1()) * (q - length2()) * (q - length3()));
}
private :
};
设计一个程序其中有三个类,即CBank,BBank,GBank,分别为中国银行类、工商银行类和农业银行类。每个类都包含一个私有数据balance,用于存放储户在该银行的存款数,另有一个友元函数total用于计算储户在这3家银行中的总存款数。
提示:
CBank,BBank和GBank 3个类中均包含私有数据成员balance,以及其输入输出的相关函数。由于需要从外部对3个类的私有数据balance进行访问,因此需要设计一个友元函数total(),这样通过友元函数的访问属性,即可统计出3家银行中的总存款数。
friend void total(CBank A, BBank B, GBank C);
private: