yangzhixiaohuli 发表于 2023-12-26 12:24:37

定义职员类,生成一个姓名为Liming、年龄为25岁、级别为2的对象s1

定义职员类,生成一个姓名为Liming、年龄为25岁、级别为2的对象s1


我的代码哪里错了
#include <iostream>
#include <string>
using namespace std;
class Employee
{
public:
      Employee (string, int, int);      
private:
      string name;
      int age;
      int level;
};

Employee(string na,int age,int l)

{name=na;
   age=a;
   level=l;
   cout<<"NAME: "<<name<<" AGE: "<<age<<" LEVEL: "<<level;
}

int main( )
{
   
Employee s1("Liming",25,2)
;
   return 0;
}

FishC 发表于 2023-12-26 12:24:47

您好,代码中有一些错误。首先,构造函数的定义应该在类外面,而不是在类内部。其次,在构造函数的实现中,参数传递给成员变量的赋值应该使用初始化列表,而不是在函数体内部进行赋值。另外,您在代码最后一行漏掉了结束括号和分号。

以下是修正后的代码:

#include <iostream>
using namespace std;

class Employee {
public:
    Employee(string, int, int);      
private:
    string name;
    int age;
    int level;
};

Employee::Employee(string na, int a, int l) : name(na), age(a), level(l) {
}

int main() {
    Employee s1("Liming", 25, 2);
    return 0;
}

这样,就能正确地定义一个姓名为Liming、年龄为25岁、级别为2的职员对象s1了。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: 定义职员类,生成一个姓名为Liming、年龄为25岁、级别为2的对象s1