zoukankan      html  css  js  c++  java
  • 类的组合

    类的组合

    • 网上听课,讲的有点朦胧,代码又不全面.....觉得有点云里雾里,就从按一段段自己码加修改,码了一个计算两个点距离的组合
    #include<iostream>
    #include<cmath>
    using namespace std;
    class Piont{
    	public :
    		Piont();//默认构造函数
    		Piont(int x,int y);//构造函数
    		Piont(const Piont&);//复制构造函数
    		~Piont();//析构函数,目前没什么鸟用...
    		int getX();//获得对象内部的X
    		int getY();//获得对象内部的Y
    	private :
    		int X,Y;
    };
    Piont::Piont(int x,int y):X(x),Y(y){
    }
    Piont::Piont():Piont(0,0){
    }
    Piont::Piont(const Piont &p)
    {
    	X=p.X;
    	Y=p.Y;
    }
    Piont::~Piont(){
    }
    int Piont::getX()
    {
    	return X;
    }
    int  Piont::getY()
    {
    	return Y;
    }
    class Line{
    	public :
    		Line(Piont pstart,Piont pend);//构造函数,参数为两个对象
    		double getLength();//求两点之间的距离
    	private :
    		Piont start,end;
    };
    Line::Line(Piont pstart,Piont pend):start(pstart),end(pend){
    }
    double Line::getLength()
    {
    	double length,newX,newY;
    	newX=fabs(start.getX()-end.getX());
    	newY=fabs(start.getY()-end.getY());
    	length=sqrt(pow(newX,2)+pow(newY,2));
        return length;
    }
    int main()
    {
    	Piont p1,p2(3,4),p3(5,6);
    	Line line1(p1,p2),line2(p2,p3);
    	cout<<"p1的属性为:X="<<p1.getX()<<"Y="<<p1.getY()<<endl;
    	cout<<"p2的属性为:X="<<p2.getX()<<"Y="<<p2.getY()<<endl;
    	cout<<"line1的长度为:"<<line1.getLength()<<endl;
    	cout<<"p2的属性为:X="<<p2.getX()<<"Y="<<p2.getY()<<endl;
    	cout<<"p3的属性为:X="<<p3.getX()<<"Y="<<p3.getY()<<endl;
    	cout<<"line2的长度为:"<<line2.getLength()<<endl;
    	return 0;
    }
    

    其实也就是之前类里面的int,double成员换成class,并无多大区别。

  • 相关阅读:
    Android 7.0及以上使用OpenCL
    image_channel_data_type含义
    Valgrind.Callgrind使用
    如何在WIN10内置Ubuntu中有多个terminal
    Android: 在native中访问assets全解析
    OpenCL的buffer以及sub-buffer
    C语言程序设计(五) 选择控制结构
    C语言程序设计(三) 简单的算术运算和表达式
    C语言程序设计(二) C数据类型
    C语言程序设计(一) 为什么要学C语言
  • 原文地址:https://www.cnblogs.com/flyingbrid-nest/p/8653792.html
Copyright © 2011-2022 走看看