描述
现有一个人类(Person),成员变量:姓名(string name)和年龄(int age),请给 Person 添加一个支持两个参数的构造函数,并对姓名和年龄两个成员进行初始化。
输入描述:
键盘输入用户名和年龄
输出描述:
通过 Person 类的showPerson()成员方法输出 Person 对象的姓名和年龄,中间使用空格隔开
cpp
#include <iostream>
#include <string>
using namespace std;
class Person{
private:
string name;//名字
int age;//年龄
public:
//有参构造函数,创建对象时直接初始化姓名和年龄
// Person(string name,int age)
// {
// this->name = name;
// this->age = age;
// }
Person(string n,int a)
{
name = n;
age = a;
}
void showPerson()
{
cout << name << " " << age <<endl;
}
};
int main()
{
string name;
int age;
cin >> name >> age;
//C创建对象,自动调用构造函数
Person p(name,age);
p.showPerson();
return 0;
}
1。有参构造函数:Person(string n, int a);
作用:创建对象时直接给 name 和 age 赋值;
2.调用方式:Person p(name, age);
创建对象 p,自动把输入的名字、年龄传进去 showPerson 输出:姓名 年龄(空格隔开)
区别:
1. 构造函数 Person(string n, int a)
- 创建对象的同时就赋值Person p(name, age);
- 不用单独调用
- 写法:
Person p("张三", 20); - 创建 + 赋值 一起完成;
2. set 函数 void set(int x,int y)
- 先创建空对象 Person p;→ 再手动赋值p.set(name, age);
- 必须写
p.set(10,20);才生效 - 分两步