自学内容网 自学内容网

C++结构类型

结构声明

C++中的结构是用户定义的类型,结构的声明定义了这种类型的数据属性。

//结构声明语法
struct inflatable
{
    char name[20];
    float volume;
    double price;
};

其中,struct是关键字,inflatable是结构体的标签,name[20],volume,price三个变量是结构体成员,包含在花括号之间,结构体的声明以分号结束。

访问结构成员也是使用成员操作符(.)来访问的,如下所示:

inflatable panda;
inflatable duck;
int price = panda.price + duck.price;
int volume = panda.volume + duck.volume;

访问类成员函数的方式是从访问结构成员变量的方式衍生而来的。

结构声明分为内部声明和外部声明,内部声明只能被本函数使用,而外部声明则可以被其后面的任何函数使用,即可以用在文件的所有函数中。

C++不提倡使用外部变量,但提倡使用外部结构声明。

结构体初始化 

inflatable guest = {"glorious", 1.88, 29.99};

其初始化的方式和数组一样,使用由逗号分隔的值列表,并将这些值用花括号括起来。

另外,结构体中也可以包含类对象,如:

struct inflatable
{
    std::string name;
    float volume;
    double price;
};

结构体内部定义了一个字符串对象。

C++使用户定义的类型与内置类型尽可能的相似。即:

  1. 可以将结构作为参数传递给函数;
  2. 可以让函数返回一个结构体类型;
  3. 可以使用赋值操作符(=)将结构赋值给另一个同类型的结构,即使成员是数组也可以。

拓展

  • 在声明结构体的时候可以同时完成结构变量的创建,只需要将变量名放在结束括号的后面即可,如下:
struct perks
{
   int key_number;
   char car[12];
}mr_smith,ms_jones;

但一般建议将结构定义与声明分开;

  • C++中结构体除了成员变量之外,还可以有成员函数,但这些高级特性通常被用于类中。

原文地址:https://blog.csdn.net/u013230291/article/details/144094293

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!