小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

關(guān)于類的組合實(shí)例

 融水公子 2018-08-08
看源代碼:
#include<iostream>
#include<cmath>
using namespace std;
class Point{
    private:
    int x,y;
    public:
    Point(int x,int y);//默認(rèn)形參值構(gòu)造函數(shù) 值傳遞
    Point(Point& p);//拷貝構(gòu)造函數(shù)  值傳遞
    int Getx();//輸出x
    int Gety();//輸出y
    void Draw();//畫點(diǎn)
};
Point::Point(int x=0,int y=0){
    this->x=x;
    this->y=y;
    cout<<"Point默認(rèn)形參值構(gòu)造函數(shù)被調(diào)用!"<<endl;
}
Point::Point(Point& p):x(p.x),y(p.y){//不能寫成     :x=p.x,y=p.y
    cout<<"Point拷貝構(gòu)造函數(shù)被調(diào)用!"<<endl;
}
int Point :: Getx(){
    return x;
}
int Point::Gety(){
    return y;
}

class Line{
    private:
    Point p1,p2;
    double len;
    public:
    Line();//無參構(gòu)造函數(shù)  傳遞點(diǎn)
    Line(Point a,Point b);//內(nèi)嵌子對象構(gòu)造函數(shù)
    Line(Line& p);//拷貝構(gòu)造函數(shù) 傳遞點(diǎn)
    void Getline();
};

Line::Line(){
    len=0;
}

Line::Line(Point a,Point b):p1(a),p2(b){//必須放在初始化列表 完成內(nèi)嵌子對象的構(gòu)造
    cout<<"line 內(nèi)嵌子對象 構(gòu)造函數(shù)被調(diào)用"<<endl;
    double x=double(a.Getx()-b.Getx());
    double y=double(a.Gety()-b.Gety());
    len=sqrt(x*x+y*y);
}
Line::Line(Line& p):p1(p.p1),p2(p.p2){//拷貝構(gòu)造函數(shù)
    len=p.len;
    cout<<"Line 拷貝構(gòu)造函數(shù)被調(diào)用!"<<endl;
}

int main(){
    Point myp1(1,2),myp2(2,4);
    Line myline(myp1,myp2);
    Line myline2(myline);
    cout<<"len:"<<myline2.Getline()<<endl;
}
運(yùn)行的結(jié)果:
Point默認(rèn)形參值構(gòu)造函數(shù)被調(diào)用!
Point默認(rèn)形參值構(gòu)造函數(shù)被調(diào)用!
Point拷貝構(gòu)造函數(shù)被調(diào)用!
Point拷貝構(gòu)造函數(shù)被調(diào)用!
Point拷貝構(gòu)造函數(shù)被調(diào)用!
Point拷貝構(gòu)造函數(shù)被調(diào)用!
line 內(nèi)嵌子對象 構(gòu)造函數(shù)被調(diào)用
Point拷貝構(gòu)造函數(shù)被調(diào)用!
Point拷貝構(gòu)造函數(shù)被調(diào)用!
Line 拷貝構(gòu)造函數(shù)被調(diào)用!
len:2.23607

分享知識,分享快樂!希望中國站在編程之巔!

               ----

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多