我是C ++的新手。我有一个项目要为我的机器人创建一个库。基本上,主要类别是ROBOT,然后第二层是:LIGHT,MOTOR。然后,对于LIGHT级别,有以下方法:Set_ON_OFF,Set_color,Set_brightness。对于MOTOR级别,有以下方法:Set_right_left,Set_power,Set_move_back。因此,多层次类ROBOT的组织方式如下:
机器人
在主程序中,我想调用类似的方法:
ROBOT obj_robot;
obj_robot.LIGHT.Set_ON_OFF = 1;
obj_robot.LIGHT.Set_color= 135;
obj_robot.LIGHT.Set_brightness= 75;
obj_robot.MOTOR.Set_right_left= 0;
obj_robot.MOTOR.Set_power= 85;
obj_robot.MOTOR.Set_move_back= 1;
我如何实现这样的班级组织?
谢谢您的帮助。
塞德里克
答案 0 :(得分:0)
C ++中的方法称为:
obj_robot.MOTOR.Set_power(85);
您应该真正阅读有关C ++的教程。例如:
https://developers.google.com/edu/c++/getting-started https://cal-linux.com/tutorials/getting_started_with_c++.html
答案 1 :(得分:0)
您可以像这样创建组织(c的解决方案很多):
class Light{
public:
void setOnOff(int on) { m_on = on; }
void setColor(int color) { m_color = color; }
void setBrightness(int brightness) {m_brightness = brightness;}
private:
int m_on;
int m_color;
int m_brightness;
};
class Robot {
public:
// Motor& getMotor() {return m_motor;}
Light& getLight() {return m_light;}
private:
// Motor m_motor;
Light m_light;
};
int main(int argc, char *argv[]) {
Robot robot;
robot.getLight().setOnOff(1);
robot.getLight().setColor(135);
robot.getLight().setBrightness(75);
};
但是,正如@AlexGarcia所指出的那样,在尝试执行此类操作之前,您应该真正阅读一些教程并创建简单的c ++程序。