一次c++任务,还都是英文

是关于c++继承构造函数方面的

img

(非要我水一下,为啥正文要大于三十字符)

试试。
3.

enum StatusType {ON, OFF};

class Pixel : public Point
{
public:
    Pixel(int initX, int initY, StatusType initStatus);
    StatusType CurrentStatus() const;
    
private:
    StatusType status;
};

4.

Pixel onePixel(3, 8, OFF);

5.

Pixel somePixel(3, 8, OFF);

std::cout << "X: " << somePixel.X_Coord() << std::endl;
std::cout << "Y: " << somePixel.Y_Coord() << std::endl;
std::cout << "Status: " << somePixel.CurrentStatus() << std::endl; 

6.

Pixel::Pixel(int initX, int initY, StatusType initStatus)
: Point(initX, initY), status(initStatus)
{
    
}

StatusType Pixel::CurrentStatus() const
{
    return status;
}

7.

Point startPoint;
Point endPoint;

8.

Line::Line(int startX, int startY, int endX, int endY)
: startPoint(startX, startY), endPoint(endX, endY)
{
    
}

完整测试程序如下:

#include <iostream>

//----------------------------------------------------------------------
// class Point
//----------------------------------------------------------------------

class Point
{
public:
    Point(int initX, int initY) {
        x = initX;
        y = initY;
    }
    int X_Coord() const {
        return x;
    }
    int Y_Coord() const {
        return y;
    }

private:
    int x;
    int y;
};

//----------------------------------------------------------------------
// class Pixel
//----------------------------------------------------------------------

enum StatusType { ON, OFF };
 
class Pixel : public Point
{
public:
    Pixel(int initX, int initY, StatusType initStatus);
    StatusType CurrentStatus() const;

private:
    StatusType status;
};

Pixel::Pixel(int initX, int initY, StatusType initStatus)
    : Point(initX, initY), status(initStatus)
{

}

StatusType Pixel::CurrentStatus() const
{
    return status;
}

//----------------------------------------------------------------------
// class Line
//----------------------------------------------------------------------

class Line {
public:
    Line(int startX, int startY, int endX, int endY)
        : startPoint(startX, startY), endPoint(endX, endY) {}

    Point StartingPoint() const { return startPoint; }
    Point EndingPoint() const { return endPoint; }

private:
    Point startPoint;
    Point endPoint;
};

//----------------------------------------------------------------------
// test case
//----------------------------------------------------------------------

int main()
{
    //第4题
    Pixel onePixel(3, 8, OFF);

    //第5题
    Pixel somePixel(3, 8, OFF);

    std::cout << "X: " << somePixel.X_Coord() << std::endl;
    std::cout << "Y: " << somePixel.Y_Coord() << std::endl;
    std::cout << "Status: " << somePixel.CurrentStatus() << std::endl;

    return 0;
}

不能翻译一下么

#include <iostream>

enum StatusType { ON, OFF };

class Point {
public:
  Point(int initX, int initY) : x(initX), y(initY) {}

  int X_Coord() const { return x; }
  int Y_Coord() const { return y; }

private:
  int x;
  int y;
};

class Pixel : public Point {
public:
  Pixel(int initX, int initY, StatusType initStatus)
      : Point(initX, initY), status(initStatus) {}

  StatusType CurrentStatus() const { return status; }

private:
  StatusType status;
};

class Line {
public:
  Line(int startX, int startY, int endX, int endY)
      : startPoint(startX, startY), endPoint(endX, endY) {}

  Point StartingPoint() const { return startPoint; }
  Point EndingPoint() const { return endPoint; }

private:
  Point startPoint;
  Point endPoint;
};

int main() {
  Pixel onePixel(3, 8, OFF);
  std::cout << "x=" << onePixel.X_Coord() << ", y=" << onePixel.Y_Coord()
            << ", status=" << onePixel.CurrentStatus() << std::endl;
  return 0;
}