1. 定义一个点类, 其数据成员包括点的坐标,并提供计算两点之间距离的成员函数 2. 定义一个矩形类, 其数据成员包括长度和宽度,并提供计算矩形面积的成员函数 3. 定义一个三角形类,其数据成员包括边长,并提供计算三角形面积的成员函数 4. 定义一个圆形类, 其数据成员包括圆心坐标和半径,并实例化两个圆形对象 5. 定义一个日期类, 其数据成员包括年、月、日,并提供求闰年、星期的成员函数 6. 定义一个时间类, 其数据成员包括时、分、秒,并提供求总秒数的成员函数 7. 定义一个储户类, 其数据成员包括储户姓名、账号、存款,并提供存入指定的存款、取出指定的存款的成员函数 8. 定义一个股票类, 其数据成员包括公司名称、持有股票数量、每股价格、总价格,并提供增加持有股票、减少持有股票成员函数 9. 定义一个书类, 其数据成员包括书名、价格、出版日期,并提供出版年限的成员函数,需要重用前面习题的日期类 10.定义一个学生类, 其数据成员包括姓名、年龄,出生年月,提供计算年龄的成员函数,需要重用前面习题的日期类
时间: 2023-06-07 20:07:14 浏览: 122
php计算地图上两点间的距离的类.zip
1. 定义一个点类,其数据成员包括点的坐标,并提供计算两点之间距离的成员函数
```
class Point {
private:
double x, y;
public:
Point(double xx, double yy): x(xx), y(yy) {}
double distance(Point p) {
return sqrt((x-p.x)*(x-p.x) + (y-p.y)*(y-p.y));
}
};
```
2. 定义一个矩形类,其数据成员包括长度和宽度,并提供计算矩形面积的成员函数
```
class Rectangle {
private:
double length, width;
public:
Rectangle(double l, double w): length(l), width(w) {}
double area() {
return length*width;
}
};
```
3. 定义一个三角形类,其数据成员包括边长,并提供计算三角形面积的成员函数
```
class Triangle {
private:
double a, b, c;
public:
Triangle(double aa, double bb, double cc): a(aa), b(bb), c(cc) {}
double area() {
double p = (a+b+c)/2;
return sqrt(p*(p-a)*(p-b)*(p-c));
}
};
```
4. 定义一个圆形类,其数据成员包括圆心坐标和半径,并实例化两个圆形对象
```
class Circle {
private:
double x, y, r;
public:
Circle(double xx, double yy, double rr): x(xx), y(yy), r(rr) {}
double area() {
return 3.14*r*r;
}
};
Circle c1(0,0,5);
Circle c2(3,4,2);
```
5. 定义一个日期类,其数据成员包括年、月、日,并提供求闰年、星期的成员函数
```
class Date {
private:
int year, month, day;
public:
Date(int y, int m, int d): year(y), month(m), day(d) {}
bool isLeap() {
if(year%4==0&&year%100!=0||year%400==0) return true;
else return false;
}
int weekDay() {
int a = (14 - month) / 12;
int y = year - a;
int m = month + 12*a - 2;
int d = (day + y + y/4 - y/100 + y/400 + (31*m)/12) % 7;
return d;
}
};
```
6. 定义一个时间类,其数据成员包括时、分、秒,并提供求总秒数的成员函数
```
class Time {
private:
int hour, minute, second;
public:
Time(int h, int m, int s): hour(h), minute(m), second(s) {}
int totalSeconds() {
return hour*3600 + minute*60 + second;
}
};
```
7. 定义一个储户类,其数据成员包括储户姓名、账号、存款,并提供存入指定的存款、取出指定的存款的成员函数
```
class Depositor {
private:
string name, account;
double savings;
public:
Depositor(string n, string a, double s): name(n), account(a), savings(s) {}
void deposit(double d) {
savings += d;
}
void withdraw(double w) {
savings -= w;
}
};
```
8. 定义一个股票类,其数据成员包括公司名称、持有股票数量、每股价格、总价格,并提供增加持有股票、减少持有股票成员函数
```
class Stock {
private:
string name;
int quantity;
double price;
public:
Stock(string n, int q, double p): name(n), quantity(q), price(p) {}
void buy(int q, double p) {
quantity += q;
price = p;
}
void sell(int q, double p) {
quantity -= q;
price = p;
}
double total() {
return price*quantity;
}
};
```
9. 定义一个书类,其数据成员包括书名、价格、出版日期,并提供出版年限的成员函数,需要重用前面习题的日期类
```
class Book {
private:
string title;
double price;
Date publicationDate;
public:
Book(string t, double p, Date d): title(t), price(p), publicationDate(d) {}
int age() {
Date now(2021, 11, 16);
return now.year - publicationDate.year;
}
};
```
10.定义一个学生类,其数据成员包括姓名、年龄,出生年月,提供计算年龄的成员函数,需要重用前面习题的日期类
```
class Student {
private:
string name;
int age;
Date birthDate;
public:
Student(string n, Date b): name(n), birthDate(b) {
Date now(2021, 11, 16);
age = now.year - birthDate.year;
}
int getAge() {
return age;
}
};
```
阅读全文