//含有对象成员的组合类
//定义point 类表示平面中的一个点,定义组合类line,该类含有两个point 类的对象p1,p2
//表示平面中的两个点,用line 类计算两点之间的距离
# include <iostream>
# include <cmath>
using namespace std;
class Point {
public:
Point (int xx=0,int yy=0){
X=xx;
Y=yy;
}
Point (Point &p);
int GetX(){
return X;
}
int GetY(){
return Y;
}
private:
int X,Y;
};
Point ::Point (Point &p){
X=p.X;
Y=p.Y;
}
class Line {
public:
Line(Point xp1,Point xp2);
Line(Line &l);
double GetLen(){
return len;
}
private:
Point p1,p2;
double len;
};
Line::Line(Point xp1,Point xp2):p1(xp1),p2(xp2){
double deltx=double(p1.GetX()-p2.GetX());
double delty=double(p1.GetY()-p2.GetY());
len=sqrt(deltx*deltx+delty*delty);
}
Line::Line (Line &l):p1(l.p1),p2(l.p2),len(l.len){
}
int main(){
Point myp1(1,1),myp2(4,5);
Line l1(myp1,myp2);
Line l2(l1);
cout<<"The length of the line1 is"<<endl;
cout<<l1.GetLen()<<endl;
cout<<"The length of the line2 is"<<endl;
cout<<l2.GetLen()<<endl;
return 0;
}
相关文章
- C++ | 谈谈构造函数的初始化列表
- js中的4种函数调用模式:函数调用、方法调用、构造器调用、间接调用
- 学习effective java-4创建和销毁对象之利用私用构造方法强化类的非实例化
- 【java基础】——java面向对象(上)—面向对象、类与对象、封装、构造函数等
- 如何确保你的构造函数只能被new调用,而不能被普通函数调用?
- 【JavaScript】19_面向对象中的方法和构造函数
- 172 已知有个rand7()的函数,返回1到7随机自然数,让利用这个rand7()构造rand10()随机1~10
- 黑马程序员--JAVA<面向对象>--构造函数、抽象类、接口、多态
- 黑马程序员_Java基础_面向对象(概述、类与对象关系、成员变量、封装private、构造函数和构造代码块、this关键字)
- 《黑马程序员》 高新技术第二天学习之枚举的入门和枚举的构造函数的调用