- 7
- 0
- 约2.92千字
- 约 96页
- 2020-04-19 发布于浙江
- 举报
第四章 类与对象;本章主要内容;回顾:面向过程的设计方法;面向对象的方法;抽象;抽象实例——钟表;抽象实例——钟表类;抽象实例——人;封装;封装;继承与派生;多态性;c++中的类;类的声明形式;公有类型成员;私有类型成员;保护类型;类的成员;void Clock::setTime(int newH, int newM,
int newS) {
hour = newH;
minute = newM;
second = newS;
}
void Clock::showTime() {
cout hour : minute : second;
};成员数据;成员函数;内联成员函数;内联成员函数举例(一);内联成员函??举例(二);inline void Point:: init(int initX,int initY) {
x = initX;
y = initY;
}
inline int Point::getX() {
return x;
}
inline int Point::GetY() {
return y;
};对象;类中成员的访问方式;例4-1类的应用举例;构造函数;构造函数举例;构造函数的实现:
Clock::Clock(int newH, int newM, int newS) {
hour = newH;
minute = newM;
second = newS;
}
建立对象时构造函数的作用:
int main() {
Clock c(0,0,0); //隐含调用构造函数,将初始值作为实参。
c.showTime();
return 0;
};拷贝构造函数;拷贝构造函数(例4-2);Point::Point (Point p) {
x = p.x;
y = p.y;
cout Calling the copy constructor endl;
};拷贝构造函数(例4-2);拷贝构造函数(例4-2);拷贝构造函数(例4-2);隐含的拷贝构造函数;析构函数;构造函数和析构函数举例;Point::Point(int xx,int yy) {
x = xx;
y = yy;
}
Point::~Point() {
}
//...其他函数的实现略;类的应用举例(例4-3);#include iostream
using namespace std;
const float PI = 3.141593; //给出p的值
const float FENCE_PRICE = 35; //栅栏的单价
const float CONCRETE_PRICE = 20;//过道水泥单价
class Circle { //声明定义类Circle 及其数据和方法
public: //外部接口
Circle(float r); //构造函数
float circumference(); //计算圆的周长
float area(); //计算圆的面积
private: //私有数据成员
float radius; //圆半径
};;//类的实现
//构造函数初始化数据成员radius
Circle::Circle(float r) {
radius = r;
}
//计算圆的周长
float Circle::circumference() {
return 2 * PI * radius;
}
//计算圆的面积
float Circle::area() {
return PI * radius * radius;
};int main () {
float radius;
cout Enter the radius of the pool: ; // 提示用户输入半径
cin radius;
Circle pool(radius); //游泳池边界
Circle poolRim(radius + 3); //栅栏
//计算栅栏造价并输出
float fenceCost = poolRim.circumference() * FENCE_PRICE;
cout Fencing Cost is $ fenceCost endl;; //计算过道造价并输出
float concreteCost = (poolRim.area() - pool.area()) * CONCRETE_PRICE;
cout Concrete Cost is $ concreteCost endl;
return 0;
}
原创力文档

文档评论(0)