注册 登录
编程论坛 C++教室

c++构造函数

C语言不挂 发布于 2018-04-07 10:58, 1867 次点击
只有本站会员才能查看附件,请 登录
6 回复
#2
C语言不挂2018-04-07 11:01
#include<iostream>
#include<math.h>
using namespace std;
class LINE;
class POINT{
    int x,y,z;
    friend LINE;
public:
    POINT(){}
    POINT(int a,int b,int c){
        x=a,y=b,z=c;
        cout<<"A"<<endl;
    }
    void print(){cout<<x<<","<<y<<","<<z<<endl;}

};
class LINE{
    POINT a,b;
    double length;
public:
    LINE(int a1,int b1,int c1,int a2,int b2,int c2):a(a1,b1,c1),b(a2,b2,c2){
        length=sqrt((a1-a2)*(a1-a2)+(b1-b2)*(b1-b2)+(c1-c2)*(c1-c2));
        cout<<"B"<<endl;
    }
    LINE (POINT a,POINT b){
        length=sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y)+(a.z-b.z)*(a.z-b.z));
        cout<<"C"<<endl;
    }
    void print(){
        cout<<length<<endl;
    }
};
void main(){
    LINE line1(1,2,3,4,5,6);
    line1.print();
    POINT pt1(1,2,3),pt2(4,5,6);
    LINE line2(pt1,pt2);
    line2.print();
}
#3
yangfrancis2018-04-07 13:32
重载关系
相当于x=a;y=b;z=c;
输出内容要自行对照类的函数实现来分析。哪一条输出不明白再具体讨论哪一条
#4
C语言不挂2018-04-07 14:15
只有本站会员才能查看附件,请 登录

这个A的输出不太懂
#5
歌儿故事2018-04-07 16:23
应该是表示:提示标记,即这个程序运行的过程

[此贴子已经被作者于2018-4-7 16:25编辑过]

#6
C语言不挂2018-04-07 16:54
LINE(int a1,int b1,int c1,int a2,int b2,int c2):a(a1,b1,c1),b(a2,b2,c2)
这一行是什么意思?就是  a(a1,b1,c1),b(a2,b2,c2)  这里是干什么的?
#7
moox2018-04-09 19:32
回复 6楼 C语言不挂
对LINE中的POINT成员进行赋值
1