我需要输入课程的参数,我应该在哪里做?同样,为什么COUT被认为是在课堂上使用的不良实践

I need to enter parameters for classes, where should I do it? Also why is cout considered bad practice to use in classes?

本文关键字:课堂 认为是 COUT 不良 为什么 输入 参数 在哪里 我应该 同样      更新时间:2023-10-16

我有班级人和班级餐具。

我在类粉碎机中创建人类对象,但是我需要将参数输入人类。它具有年龄,体重和身高。

所以首先就像

MealPlanner::MealPlanner(){
    humanP = new Human;
    /// But human actually has parameters like Human(weight, age, ...) 
    /// I just need those parameters to be entered by the user
}

我应该在粉状计划中做一个功能,例如

MealPlanner::enterInfo(){
    int age;
    cout << "enter age" << endl;
    cin >> age;
    /// and so on
    ///and then do 
    humanP->setAge(age);
}

通常,我会在main()内输入所有信息,然后将物体传递给餐随机量,但是我有一项任务可以使对象在餐具式班级中进行,而最好的方法是将人类的物体在其中。但是人类的需求信息,我应该在哪里让用户输入此信息?

也为什么要在课堂内使用不良练习?

假设humanPHuman类型的指针,该指针是MealPlanner的成员变量(即字段)。由于它是一个指针,因此您需要调用operator new()来初始化它 - 但是在这种特殊情况下(当您在所有者的构造函数中创建),将humanP变成常规变量可能会更好。

这样,它将被隐式地构造默认 - 您无需明确构造它。

关于阅读输入/输出:理想情况下,您应该拆分用户输入/验证和数据修改。因此,考虑执行IN/OUT过程的图层类或功能,然后调用MealPlanner::setHumanData(age, weight, height)