【C++之构造函数】键盘输入用户名和年龄

简介: 【C++之构造函数】键盘输入用户名和年龄

题目收录于牛客网在线编程-语法篇-C++入门-04面向对象-构造函数-CPP40 构造函数

题目

描述

现有一个人类(Person),成员变量:姓名(string name)和年龄(int age),请给 Person 添加一个支持两个参数的构造函数,并对姓名和年龄两个成员进行初始化。

输入描述:

键盘输入用户名和年龄

输出描述:

通过 Person 类的showPerson()成员方法输出 Person 对象的姓名和年龄,中间使用空格隔开。

示例1

输入:

zhangsan
20

输出:

zhangsan 20

初始代码

#include <iostream>
#include <string>
using namespace std;
// Person类
class Person {
    public:
        string name;    // 姓名
        int age;    // 年龄
        // write your code here......
        void showPerson() {
            cout << name << " " << age << endl;
        }
};
int main() {
    string name;
    int age;
    cin >> name;
    cin >> age;
    Person p(name, age);
    p.showPerson();
    return 0;
}

代码

本题属于入门题

#include <iostream>
#include <string>
using namespace std;
// Person类
class Person {
    public:
        string name;    // 姓名
        int age;    // 年龄
        Person(string n, int a)
        {
            this -> name = n;
            this -> age = a;
        }
        void showPerson() {
            cout << name << " " << age << endl;
        }
};
int main() {
    string name;
    int age;
    cin >> name;
    cin >> age;
    Person p(name, age);
    p.showPerson();
    return 0;
}
相关文章
|
7月前
|
存储 编译器 C++
【c++】类和对象(下)(取地址运算符重载、深究构造函数、类型转换、static修饰成员、友元、内部类、匿名对象)
本文介绍了C++中类和对象的高级特性,包括取地址运算符重载、构造函数的初始化列表、类型转换、static修饰成员、友元、内部类及匿名对象等内容。文章详细解释了每个概念的使用方法和注意事项,帮助读者深入了解C++面向对象编程的核心机制。
216 5
|
7月前
|
存储 编译器 C++
【c++】类和对象(中)(构造函数、析构函数、拷贝构造、赋值重载)
本文深入探讨了C++类的默认成员函数,包括构造函数、析构函数、拷贝构造函数和赋值重载。构造函数用于对象的初始化,析构函数用于对象销毁时的资源清理,拷贝构造函数用于对象的拷贝,赋值重载用于已存在对象的赋值。文章详细介绍了每个函数的特点、使用方法及注意事项,并提供了代码示例。这些默认成员函数确保了资源的正确管理和对象状态的维护。
412 4
|
9月前
|
编译器 C++
C++ 类构造函数初始化列表
构造函数初始化列表以一个冒号开始,接着是以逗号分隔的数据成员列表,每个数据成员后面跟一个放在括号中的初始化式。
162 30
|
8月前
|
编译器 C语言 C++
C++入门4——类与对象3-1(构造函数的类型转换和友元详解)
C++入门4——类与对象3-1(构造函数的类型转换和友元详解)
75 1
|
8月前
|
C++
C++构造函数初始化类对象
C++构造函数初始化类对象
66 0
|
8月前
|
C++
C++入门4——类与对象3-2(构造函数的类型转换和友元详解)
C++入门4——类与对象3-2(构造函数的类型转换和友元详解)
80 0
|
10月前
|
编译器 C++
C++的基类和派生类构造函数
基类的成员函数可以被继承,可以通过派生类的对象访问,但这仅仅指的是普通的成员函数,类的构造函数不能被继承。构造函数不能被继承是有道理的,因为即使继承了,它的名字和派生类的名字也不一样,不能成为派生类的构造函数,当然更不能成为普通的成员函数。 在设计派生类时,对继承过来的成员变量的初始化工作也要由派生类的构造函数完成,但是大部分基类都有 private 属性的成员变量,它们在派生类中无法访问,更不能使用派生类的构造函数来初始化。 这种矛盾在C++继承中是普遍存在的,解决这个问题的思路是:在派生类的构造函数中调用基类的构造函数。 下面的例子展示了如何在派生类的构造函数中调用基类的构造函数:
|
11月前
|
编译器 C++
【C++】详解构造函数
【C++】详解构造函数
|
12月前
|
存储 编译器 C++
【C++】类和对象④(再谈构造函数:初始化列表,隐式类型转换,缺省值
C++中的隐式类型转换在变量赋值和函数调用中常见,如`double`转`int`。取引用时,须用`const`以防修改临时变量,如`const int& b = a;`。类可以有隐式单参构造,使`A aa2 = 1;`合法,但`explicit`关键字可阻止这种转换。C++11起,成员变量可设默认值,如`int _b1 = 1;`。博客探讨构造函数、初始化列表及编译器优化,关注更多C++特性。
|
12月前
|
存储 编译器 C语言
【C++】类和对象②(类的默认成员函数:构造函数 | 析构函数)
C++类的六大默认成员函数包括构造函数、析构函数、拷贝构造、赋值运算符、取地址重载及const取址。构造函数用于对象初始化,无返回值,名称与类名相同,可重载。若未定义,编译器提供默认无参构造。析构函数负责对象销毁,名字前加`~`,无参数无返回,自动调用以释放资源。一个类只有一个析构函数。两者确保对象生命周期中正确初始化和清理。

热门文章

最新文章