类的组合

Posted flyingbrid-nest

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了类的组合相关的知识,希望对你有一定的参考价值。

类的组合

  • 网上听课,讲的有点朦胧,代码又不全面.....觉得有点云里雾里,就从按一段段自己码加修改,码了一个计算两个点距离的组合

    #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,并无多大区别。

以上是关于类的组合的主要内容,如果未能解决你的问题,请参考以下文章

如何组合绑定片段而不将它们包装在 XML 文字中

48个值得掌握的JavaScript代码片段(上)

C++类的组合和聚合

精心收集的 48 个 JavaScript 代码片段,仅需 30 秒就可理解!(转载)

片段组合在 Relay 中是如何工作的?

类的组合