结构体:

c++11下,可以对结构体像类一样初始化。

struct Sales_data{std::string bookNo;unsigned units_sold;double revenue;Sales_data(){bookNo = "book";units_sold = 1;revenue = 10.0;}
};

结构体必须以;号结束,这是因为在定义的同时可以实力化变量,然而这样做是不值得推荐的。

struct Sales_data{std::string bookNo;unsigned units_sold;double revenue;Sales_data(){bookNo = "book";units_sold = 1;revenue = 10.0;}
} b1,b2,*b3;

头文件:

如果我们定义的东西要在多个文件中使用,我们便把它定义在头文件中,否则每个文件都要定义一样的东西。一般来说,一般来说,类名和头文件的名称是相同的。例如Sales_data Class的头文件时Sales_data.h。

为了解决可能的重复引用头文件的情况,引入了一种技术——Preprocessor(预处理)。在编译和运行之前,会进行预处理,在源代码中,当遇到#include的时候,会进行一些替换。

//
//  Sales_data.h
//  ex2.9
//
//  Created by fengsser on 15/6/27.
//  Copyright (c) 2015年 fengsser. All rights reserved.
//#ifndef SALES_DATA_H
#define SALES_DATA_h
struct Sales_data{std::string bookNo;unsigned units_sold;double revenue;Sales_data(){bookNo = "book";units_sold = 1;revenue = 10.0;}
};#endif

我们用#ifndef,#define,#endif来包含我们的头文件内容。这样,当第一次引入时,#ifndef判断SALES_DATA_H这个变量还没定义,就会往下执行,定义SALES_DATA_H。重复引入时,#ifndef判断失败,就不会再复制#ifndef到#endif之间的内容。

一般来说,定义的预处理变量和文件名是一致的,并用大写。无论你的头文件是否会被多次引用,都应该养成编写这种头文件保护的机制。

至此,第二章结束。

(6)风色从零单排《C++ Primer》 结构体,头文件相关推荐

  1. c语言中结构体头文件是什么,函数形参里有结构体指针,为什么在头文件生

    满意答案 lam950 2017.04.08 采纳率:59%    等级:8 已帮助:913人 C语言用结构体指针作函数参数 这种方式比用结构体变量作函数参数效率高,因为无需传递各个成员的值,只需传递 ...

  2. c语言 增加 删除 修改的功能 不用链表,不用链表,单是结构体写入文件后,是否可以进行修改删除...

    不用链表,单是结构体写入文件后,是否可以进行修改删除 #include #include #include typedef struct Node { char  num[20]; char name ...

  3. 按平均成绩排行c语言文件操作,学生成绩管理系统(c语言结构体以及文件操作)实验报告精选.doc...

    学生成绩管理系统(c语言结构体以及文件操作)实验报告精选 C程序设计 实验报告 编号: 姓名院系学号任课教师于萧指导教师实验地点实验时间实验名称文件操作同 组 人无预习报告(对实验主要内容的认识)得分 ...

  4. Linux学习-文件IOA1——用结构体和文件操作函数实现文件的拷贝

    Linux学习-文件IOA1--用结构体和文件操作函数实现文件的拷贝 其实我们不必选用结构体去实现模仿拷贝功能的,但是为了锻炼我们的思维以及对结构体.文件操作函数的使用,所以我们就这样来折腾自己. 学 ...

  5. c语言文件和结构体,C语言 文件操作 结构体与文件 fgetc fputc fread fwrite

    #include #include /*C语言 将键盘输入的字符写入文件*/ int main(int argc, char* argv[]) { FILE *fp; //文件指针 char str1 ...

  6. c语言怎么往结构体中传数据,怎么把文件数据写入结构体 c语言 怎么将结构体写入文件...

    怎么把结构体的数据写到文件中 C语言把一个结构体数组写入文件分三步: 以二进制写方式(wb)打开文件 调用写入函数fwrite()将结构体数据写入文件 关闭文件指针 相应的,读文件也要与之匹配: 以二 ...

  7. c语言中将结构体写入文件,C语言中将结构体写入文件

    可以使用fwrite()将一个结构体写入文件: fwrite(&some_struct,sizeof somestruct,1,fp); 对应的fread函数可以再把它读出来,此处fwrite ...

  8. (1)风色从零单排《C++ Primer》 一个简单的c++程序

    从零单排<C++ Primer> --(1)一个简单的c++程序 本次学习收获 0.写在前面 风色以前上过C++的课程.然而当时并没有认真去学,基本不能使用c++来作项目开发.这次又一次学 ...

  9. (3)风色从零单排《C++ Primer》 重要的基本类型

    从零单排<C++ Primer> --(3)重要的基本类型    算数类型(Arithmetic Types) c++算数类型 Type Meaning Minimum Size bool ...

最新文章

  1. 区域设置 ID (LCID) 表, 及获取方法
  2. Spring 如何在一个事务中开启另一个事务?
  3. NLPIR-KGB知识图谱引擎突破传统数据挖掘束缚
  4. Sublime 2 配置
  5. 通过机器学习识别“迪士尼在逃公主”,程序员宠女的正确打开方式!
  6. [收集]美女与野兽——萨尔和吉安娜的绯闻
  7. python能写什么脚本_你用 Python 写过哪些有趣的脚本?
  8. 实例24:python
  9. emacs mysql代码阅读_Emacs + etags + cscope 阅读代码
  10. UI素材干货|听说UI设计师更喜欢Sketch
  11. linux 邮件文件名 病毒,linux-qmail 病毒/垃圾邮件处理
  12. NVIDIA驱动报错解决方案
  13. 连续最大积 hdu 4567
  14. Typora图片云存储
  15. Win11硬盘怎么分区?Win11固态硬盘分区教程
  16. maven、md5、git学习
  17. 如何获取目标基因的转录因子
  18. 印度和印度尼西亚有什么关系吗?
  19. 光猫、路由器和交换机区别
  20. 结构-02. 有理数加法(15)

热门文章

  1. 如何解决梯度消失和梯度爆炸?
  2. 重装XP之后找回UBUNTU10.04
  3. 组织行为学-考前最后一背
  4. 银行技术岗python_中信银行总行信息技术管理部 区块链研发工程师
  5. 自媒体 文章 采集 采集文章媒体怎么做
  6. 中国邮政java面试_中国邮政C笔试题
  7. 图片无损放大神器PhotoZoom,保持原始图片,放大不会出马赛克
  8. 在ASP中UBOUND与LUBOUND的用法
  9. 电脑开机后主机嗡嗡响的解决方法
  10. 22:487-3279