美文网首页
C++基础(十一)-C++结构体

C++基础(十一)-C++结构体

作者: 程序元客栈 | 来源:发表于2025-11-19 11:23 被阅读0次

1.C++ 结构体(struct)

  • C/C++ 数组允许定义可存储相同类型数据项的变量,但是结构是 C++ 中另一种用户自定义的可用的数据类型,它允许您存储不同类型的数据项。
  • struct 关键字:用于定义结构体,它告诉编译器后面要定义的是一个自定义类型。
  • 成员变量:成员变量是结构体中定义的数据项,它们可以是任何基本类型或其他自定义类型。在 struct 中,这些成员默认是 public,可以直接访问。
  • 成员函数:结构体中也可以包含成员函数,这使得结构体在功能上类似于类。成员函数可以操作结构体的成员变量,提供对数据的封装和操作。
  • 访问权限:与 class 类似,你可以在 struct 中使用 public、private 和 protected 来定义成员的访问权限。在 struct 中,默认所有成员都是 public,而 class 中默认是 private。

2.举例:调用函数打印,分传递结构体和指针两种

#include <iostream> 
using namespace std; 
//  定义:书的结构体
struct Books
{
  int page;
  string name;
};
void printBookInfo1(struct Books bk1);
void printBookInfo2(Books *bk2);
int main(){  
    Books book;
    book.page =100;
    book.name = "100页的故事";
    // 通过c++结构体-打印
    printBookInfo1(book);
    // 通过c++ 指针
    printBookInfo2(&book);
    return 0;
};
void printBookInfo1(struct Books bk1){
    cout <<"1获取书的页数:"<< bk1.page << endl;
    cout <<"1获取书的名称:"<< bk1.name << endl;
};
void printBookInfo2(Books *bk2){
    cout <<"2获取书的页数:"<< bk2->page << endl;
    cout <<"2获取书的名称:"<< bk2->name << endl;
};

相关文章

  • JSON数据转C++结构体

    JSON数据自动生成C++结构体 JSON数据自动生成C++结构体背景nlohmann/json基础Python自...

  • NDK开发—结构体、共用体与C++基础(三)

    目录 结构体、共用体与C++基础11、结构体字节对齐2、共用体3、C++ 输出函数符号兼容引用字符串C字符串字符串...

  • Texture之ASDisplayNodeInternal.h

    c++容器 c++类型:atomic_uint 罕见的c++语法 初始化结构体 c结构体 检查指定类是否重写了另一...

  • c++类相关

    c++结构体与c结构体的区别 c语言 c++ c++类的使用 类的权限管理 对类的成员的访问做限制 private...

  • C++常用容器复习

    cin>>a cout<

  • 01-OC对象的本质

    OC是通过C/C++的什么数据结构实现我们的OC对象呢 结构体--OC对象的本质就是C/C++的结构体 Class...

  • JNI总结

    java调用c/c++ 在C中:JNIEnv 结构体指针别名env二级指针 在C++中:JNIEnv 是一个结构体...

  • 结构体、共用体与C++基础

    结构体、共用体与C++基础1 [TOC] 1、结构体 结构体是C编程中一种用户自定义的数据类型,类似于Java的J...

  • C++ 面向对象

    C++ 与 C语言 区别 C++ 面向对象、标准特性; C 面向过程,函数+结构体 C++可以运行C语言,反之就不...

  • C++中结构体

    C++中结构体并不是C中的结构体了 C++的结构体更像是一种特殊的类 他与类一样 可以有public privat...

网友评论

      本文标题:C++基础(十一)-C++结构体

      本文链接:https://www.haomeiwen.com/subject/jtmafstx.html