C++类和对象的继承和派生
来源:互联网 发布:网络前沿技术有哪些 编辑:程序博客网 时间:2024/06/09 13:57
1 实验内容及目的
2 实验步骤
在头文件中声明3DPoint类所继承的类是MyPoint类,同时声明中3DPoint类中特殊的属性与方法,在CPP文件中进行实现,最后通过Test类中的Main函数创建一个3DPoint对象,从而完成测试。
3 源代码
3DPoint.h:
#include"MyPoint.h"
class _3DPoint :public MyPoint
{
public:
_3DPoint();
_3DPoint(doublex1, double y1, double z1);
doublegetZ();
doubledistance(_3DPoint _3DPoint);
private:
doublez;
};
3DPoint.cpp:
#include"3DPoint.h"
#include <math.h>
_3DPoint::_3DPoint(){
x =0;
y =0;
z =0;
}
_3DPoint::_3DPoint(double x1, double y1,double z1){
x =x1;
y =y1;
z =z1;
}
double _3DPoint::getZ(){
returnz;
}
double _3DPoint::distance(_3DPoint _3DPoint){
doubleresult;
result= sqrt(pow((x - _3DPoint.getX()), 2) + pow((y - _3DPoint.getY()), 2) + pow((z -_3DPoint.getZ()),2));
returnresult;
}
Test.cpp:
#include"3DPoint.h"
#include <iostream>
using namespace std;
int main(){
_3DPointaPoint;
cout<< "第一个点的坐标为:" << "("<< aPoint.getX() << ","
<<aPoint.getY() << "," << aPoint.getZ() << ")" << endl;
_3DPointbPoint(10, 30, 25.5);
cout<< "第二个点的坐标为:" << "("<< bPoint.getX() << ","
<<bPoint.getY() << "," << bPoint.getZ() << ")" << endl;
cout<< "两点之间的距离为:" <<aPoint.distance(bPoint) << endl;
//MyPoint cPoint;
// MyPointdPoint(3, 4);
// cout<< cPoint.distance(dPoint) << endl;
}
4 遇到的问题与分析
在实验过程中,我对C++中如何实现派生类的语法还不太熟悉,导致一开始写的程序总是存在错误,但在复习书本和参考样例代码后我基本上掌握了C++类和对象的继承和派生。
5 实验体会
在以前学习Java的时候我对面向对象中的继承概念有了基本的了解,而这次的实验则让我学习到了同样的概念在C++这门语言中是如何实现的,与Java类似的实验对比,让我对继承概念有了更加深刻的认识,同时也使我见识到C++的语法特色。
- C语言类的继承和派生
- [C++]继承和派生类
- C++----继承和派生
- 【C++】继承和派生
- C++类和对象的继承和派生
- C++类和对象的继承和派生
- C++类和对象的继承和派生
- 类的继承和派生
- 类的继承和派生
- 类的继承和派生
- OBJ-C类的继承和派生学习笔记
- 继承和派生类
- C++__继承和派生
- C++类的继承和派生
- 作业5.18 类的继承和派生
- C++ 类的派生和继承
- C++类的继承和派生
- C++类的继承和派生
- codeforce 11B 思维题
- 数据库的建立——物资管理系统
- 关于typedef的用法总结
- javaweb 手动配HTTP
- 黑马程序员--IO流之字符流
- C++类和对象的继承和派生
- HOG特征描述
- <MFC笔记> 四种线程同步(或互斥)方式小结
- Notes On <Practical ASP.NET Web API> - 01
- Devexpress Wpf 绘制圆滑曲线
- 单文档多视图
- python通过cx_Oracle连接oracle设置
- 多媒体工作难题总结
- vi 中的复制与粘贴