ChenchenJT 2017-04-26 08:14 采纳率: 100%
浏览 1813
已采纳

如果在C++中的子类有两个父类的数据成员,那子类的构造函数要怎么写?

我的编译器用的是VS2010,Point类是父类,Line是子类,在写Line的构造函数的时候,不知道double x2和double y2怎么赋值给Point2?
图片说明
图片说明

  • 写回答

4条回答 默认 最新

  • hongyu83916 2017-04-26 08:30
    关注

    刚学JAVA,我是这样认为的,你现在感觉给Point2 初始化,无从下手,是因为,此处Point 和Line的关系,你把他们定义成了继承关系,
    左右了你。我认为你把他们定义为包含关系,这样你就不会为难了。把Point作为Line 的属性,这样就不会为难了。
    用继承描述不合适!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • 内核之道 PostgreSQL领域优质创作者 2017-04-26 08:31
    关注
    class Point
    {
    public:
        Point(double a, double b)
        {
    
    
        }
    };
    class Line :public Point
    {
    public:
        Line(double c, double d, double e, double f) :Point(c, d)
        {
    
    
        }
    };
    
    
    评论
  • oyljerry 2017-04-26 08:34
    关注

    你的父类只有Point,子类只有一个父类,x1,y1已经传递给父类参数了,没有Point2这个父类

    评论
  • hongyu83916 2017-04-27 02:35
    关注

    //====比如直线包含:起点,终点===
    //C++忘了,不太会,用java,你参考下
    public class Line {
    Point startP;
    Point endP;
    public Line() {
    //无参数构造
    }
    public Line(Point startP, Point endP) {
    //全参构造
    this.startP = startP;
    this.endP = endP;
    }
    //(其他方法,比如计算两点直线距离等等)
    //=====================================
    public static void main(String[] args) {
    Point start=new Point(1.2,3.2);
    Point end=new Point(1.2,3.2);

        Line line01=new Line(start,end);
    
        //===在这里就可以访问使用直线line01了
    
    }
    

    }

    class Point{
    double x;
    double y;
    public Point(double x, double y) {
    this.x = x;
    this.y = y;
    }

    }

    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 等高线中数据取消科学计数法
  • ¥15 Qt播放10路ffmpeg 视频流
  • ¥15 如何利用闲置机械硬盘变现
  • ¥15 信号处理中的凸优化问题
  • ¥15 arm虚拟机无法和物理机互通
  • ¥15 Android导航条遮盖异常
  • ¥15 计算机网络技术基础问题
  • ¥15 设置mac系统只能访问指定网站
  • ¥15 西门子博途 s7 1200控制三台步进电机
  • ¥15 基于非参数的方向距离函数求污染物影子价格(有偿)