首页 > 其他分享 >结构体成员的默认值是如何使用的呢?可以对默认值进行修改吗?

结构体成员的默认值是如何使用的呢?可以对默认值进行修改吗?

时间:2024-09-03 18:25:09浏览次数:12  
标签:code struct 成员 修改 Student 默认值 赋值

问题描述:

根据下列代码和结果回答下列问题。

// Created by 黑马程序员.
#include "iostream"
using namespace std;

int main()
{
    struct Student
    {
        string name;        // 成员1,姓名
        string major_code = "003032";   // 成员2专业代码,拥有默认值003032
        int dormitory_num = 1;          // 成员3宿舍楼号,默认是1号楼
    };

    struct Student s1 = {"周杰轮"};
    struct Student s2 = {"林军杰", "003001", 3};

    cout << "学生1的姓名:" << s1.name << endl;
    cout << "学生1的专业代码:" << s1.major_code << endl;
    cout << "学生1的宿舍楼号:" << s1.dormitory_num << endl;
    cout << endl;
    cout << "学生2的姓名:" << s2.name << endl;
    cout << "学生2的专业代码:" << s2.major_code << endl;
    cout << "学生2的宿舍楼号:" << s2.dormitory_num << endl;

    return 0;
}
D:\CLion_code\cmake-build-debug\CLion_code.exe
学生1的姓名:周杰轮
学生1的专业代码:003032
学生1的宿舍楼号:1

学生2的姓名:林军杰
学生2的专业代码:003001
学生2的宿舍楼号:3

Process finished with exit code 0

 

结构体成员的默认值是如何使用的呢?可以对默认值进行修改吗?

问题解答:

在C++中,结构体成员可以在定义时指定默认值。默认值的使用方式和修改方式如下:

结构体成员默认值的使用

当定义一个结构体变量时,如果没有为某个成员显式赋值,那么该成员会自动使用结构体中定义的默认值。比如在你的代码中:

struct Student
{
    string name;        // 成员1,姓名
    string major_code = "003032";   // 成员2专业代码,拥有默认值003032
    int dormitory_num = 1;          // 成员3宿舍楼号,默认是1号楼
};

在创建结构体变量时,如果没有为major_codedormitory_num这两个成员赋值,它们将使用定义时的默认值:

struct Student s1 = {"周杰轮"};

struct Student s1 = {"周杰轮"}; 这行代码只为 name 成员赋值为 "周杰轮",因此 s1.major_code 使用默认值 "003032"s1.dormitory_num 使用默认值 1

结构体成员默认值的修改

在创建结构体变量时,你可以显式地为所有成员赋值,这将覆盖默认值。例如:

struct Student s2 = {"林军杰", "003001", 3};

这行代码为 s2name 成员赋值为 "林军杰"major_code 赋值为 "003001"dormitory_num 赋值为 3,因此它们不会使用默认值,而是使用提供的这些值。

总结

  1. 使用默认值:当创建结构体变量时,如果某个成员没有显式赋值,将使用结构体定义中的默认值。
  2. 修改默认值:在创建结构体变量时,可以为成员显式赋值,这样将覆盖默认值。

在你的代码中,s1major_codedormitory_num 使用了默认值,而 s2 的这两个成员则使用了显式赋值的值。

标签:code,struct,成员,修改,Student,默认值,赋值
From: https://blog.csdn.net/weixin_43501408/article/details/141865246

相关文章

  • 黑神话:悟空 —— 风灵月影修改器:物品数量调整及下载安装使用全教程
    一、下载与安装1.下载修改器获取途径:玩家可以通过奇游加速工具等辅助软件,一键直达“风灵月影”的官方网站,下载专为《黑神话:悟空》设计的修改器版本。此外,也可以从其他可信的第三方网站下载。注意事项:确保下载来源可靠,避免下载到带有恶意软件的版本。2.安装修改器解压文件......
  • 《黑神话:悟空》V1.0四十二项风灵月影修改器资源下载-3DM风灵月影游戏修改器使用功能汇
    在《黑神话:悟空》中,V1.0四十二项游戏修改器的使用方法需要仔细了解。这里为您详细说明,玩家首先要确保修改器与游戏版本匹配,然后按照特定的步骤启动和设置。注意相关参数的调整,谨慎操作以达到预期效果。下载和安装技巧安全下载:下载风灵月影修改器时,一定要确保文件的来源是可......
  • PbootCMS 后台常用文件修改路径位置
    在PbootCMS中,后台常用文件通常保存在 apps\admin\view\default 目录中。以下是常用的几个文件及其路径,这些文件在使用过程中可能需要修改一些文字内容。以下是具体的文件路径和用途说明:1.登录页页面修改文件路径:plaintext apps\admin\view\default\index.html用途......
  • 游戏修改器之Cheat Engine
    下载地址: https://cheatengine.org/downloads.php游戏修改工具  汉化:1)找到翻译包并下载-->Downloads>Translations 2)下载的是一个压缩包,将其解压并放到CE的安装目录languages下,并根据language.ini中的配置项;Ifthe--LANGparameterORtheLANGenvironmentvari......
  • Rocky9怎么把网卡名由ens33修改为eth0
    环境查看```系统环境#cat/etc/redhat-releaseRockyLinuxrelease9.3(BlueOnyx)#uname-aLinuxRockyTemplete5.14.0-362.18.1.el9_3.0.1.x86_64#1SMPPREEMPT_DYNAMICSunFeb1113:49:23UTC2024x86_64x86_64x86_64GNU/Linux修改配置文件修改以下配......
  • MySQL修改密码
    第一种方式:最简单的方法就是借助第三方工具NavicatforMySQL来修改,方法如下:1、登录mysql到指定库,如:登录到test库。2、然后点击上方“用户”按钮。3、选择要更改的用户名,然后点击上方的“编辑用户”按钮。4、出现如图界面,输入新密码,并确认新密码,点击“保存”按钮即可。   第二种......
  • 12、DB-修改-删除数据库表的字段-alter table
    一般有关操作表内容的用  altertable..... --修改表名ALTERTABLE旧表名RENAMEAS新表名ALTERTABLEteacherRENAMEASteacher1--增加表的字段ALTERTABLE表名ADD字段名列属性ALTERTABLEteacher1ADDageINT(11)--修改表的字段(重命名、修改......
  • 【C++】类和对象2:默认成员函数+操作符重载
    本篇是类和对象的第二站......
  • 通过自定义注解、反射和AOP在Spring Boot中动态修改请求参数
    在SpringBoot中,通过自定义注解、反射以及AOP(面向切面编程)来动态修改请求参数是一种高级且强大的技术组合,它允许开发者在不修改原始方法实现的情况下,对方法的执行过程进行干预和定制。这种技术通常用于日志记录、权限校验、参数校验、数据脱敏等场景。下面,我将详细阐述如何......
  • OpenCV(cv::Mat 类的成员函数 ptr<T>())
    目录1.函数定义2.功能3.示例4.注意事项总结在OpenCV中,Mat类的成员函数ptr<T>()用于获取指向矩阵数据的指针,允许直接访问底层数据。T是指针的类型,它通常与矩阵的元素类型对应。通过这个函数,你可以以一种低开销的方式访问和修改矩阵数据。1.函数定义template<type......