设计一个圆类circle和一个桌子类table,另设计一个圆桌类roundtable,它是从前两个类派生的,要求输出一个圆桌的高度、面积和颜色等数据。(每个类都要定义带参的构造函数)
#include
using namespace std;
class Circle
{
public:
Circle(double radius)
{
r=radius;
}
double area()
{
s=3.14*r*r;
return s;
}
private:
double r,s;
};
class Table
{
public:
Table(double h)
{
height=h;
}
double GetH()
{
return height;
}
private:
double height;
};
class Roundtable:public Circle,public Table
{
public:
Roundtable(double radius,double h, char *c)
:Circle(radius),Table(h)
{
color=new char[strlen(c)+1];
strcpy(color,c);
}
string GetC()
{
return color;
}
private:
char *color;
};
int main()
{
Roundtable A(3.6,0.9,"RED");
cout<<"the Basic information of the roundtable : "<<endl;
cout<<"面积 : "<<A.area()<<endl;
cout<<"高度 : "<<A.GetH()<<endl;
cout<<"颜色 : "<<A.GetC()<<endl;
}
这个代码和下面那个代码有啥差别吗?
#include
using namespace std;
class Circle
{
public:
Circle(double radius)
{
r=radius;
}
double area()
{
s=3.14*r*r;
return s;
}
private:
double r,s;
};
class Table
{
public:
Table(double h)
{
height=h;
}
double GetH()
{
return height;
}
private:
double height;
};
class Roundtable:public Circle,public Table
{
public:
Roundtable(double radius,double h, string c)
:Circle(radius),Table(h)
{
color=c;
}
string GetC()
{
return color;
}
private:
string color
};
int main()
{
Roundtable A(3.6,0.9,"RED");
cout<<"the Basic information of the roundtable : "<<endl;
cout<<"面积 : "<<A.area()<<endl;
cout<<"高度 : "<<A.GetH()<<endl;
cout<<"颜色 : "<<A.GetC()<<endl;
}
你这代码没贴好
#include <iostream>
#include <cstring>
using namespace std;
class Circle
{
public:
Circle(double radius)
{
r = radius;
}
double area()
{
s = 3.14 * r * r;
return s;
}
private:
double r, s;
};
class Table
{
public:
Table(double h)
{
height = h;
}
double GetH()
{
return height;
}
private:
double height;
};
class Roundtable : public Circle, public Table
{
public:
Roundtable(double radius, double h, string c)
: Circle(radius), Table(h)
{
color = c;
}
string GetC()
{
return color;
}
private:
string color;
};
int main()
{
Roundtable A(3.6, 0.9, "RED");
cout << "the Basic information of the roundtable : " << endl;
cout << "面积 : " << A.area() << endl;
cout << "高度 : " << A.GetH() << endl;
cout << "颜色 : " << A.GetC() << endl;
return 0;
}
不知道你这个问题是否已经解决, 如果还没有解决的话:第一个代码是一个用于找到字符串中第一个不重复字母的函数。它首先定义了一个大小为26的数组table,用于统计每个字母在字符串中出现的次数。然后使用两个for循环,第一个for循环遍历字符串,使用s[i]-'a'作为数组下标,将对应字母的计数加1。第二个for循环再次遍历字符串,找到第一个只出现一次的字母,并返回其索引。如果不存在只出现一次的字母,则返回-1。
第二个代码是一个用于将字符串转换为整数的函数。它首先判断字符串是否为空,如果为空则返回0。然后定义了一个start和end两个指针,分别指向字符串的头和尾。接下来定义了一个变量ret用于存储转换后的整数。然后使用while循环,判断除了第一个字符以外的字符,如果出现了非数字字符,则返回0。如果所有字符都是数字字符,则将字符串转换为整数并保存在ret中。接着判断第一个字符,如果是数字字符,则再次更新ret并返回正值。如果是正号,则返回ret,如果是负号,则返回-ret。如果第一个字符不是数字、+、-中的一个,则返回0。
第三个代码是一个用于将字符串中的字母进行反转的函数。它首先判断字符串是否为空,如果为空则返回原字符串。然后定义一个头指针begin和尾指针end,分别指向字符串的开头和末尾。使用while循环,头指针从头开始寻找待反转的字母,尾指针从尾开始寻找待反转的字母,然后交换这两个字母。循环过程中,头指针和尾指针逐渐逼近,直到相遇为止。最后返回反转后的字符串。
根据以上解释,第一个代码和第二个代码的差异在于第一个代码包括了一个string类型的color变量的定义,而第二个代码没有这个变量的定义。由于题目并没有提到color变量的作用,因此它的定义不会对代码逻辑产生影响。