(6)风色从零单排《C++ Primer》 结构体,头文件
来源:互联网 发布:电影洛丽塔影评知乎 编辑:程序博客网 时间:2024/04/29 15:47
结构体:
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_hstruct 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之间的内容。
一般来说,定义的预处理变量和文件名是一致的,并用大写。无论你的头文件是否会被多次引用,都应该养成编写这种头文件保护的机制。
至此,第二章结束。
0 0
- (6)风色从零单排《C++ Primer》 结构体,头文件
- (1)风色从零单排《C++ Primer》 一个简单的c++程序
- (4)风色从零单排《C++ Primer》 变量,引用,指针
- (7)风色从零单排《C++ Primer》 string
- (2)风色从零单排《C++ Primer》 一个简单的书店程序
- (3)风色从零单排《C++ Primer》 重要的基本类型
- (5)风色从零单排《C++ Primer》 const,typedef,auto,decltype
- 从零单排c++ primer(6)
- 从零单排6
- 从零单排c++ primer(1)
- 从零单排c++ primer(2)
- 从零单排c++ primer(3)
- 从零单排c++ primer(4)
- 从零单排c++ primer(5)
- 从零单排c++ primer(7)
- 从零单排c++ primer(8)
- 从零单排c++ primer(9)
- 从零单排c++ primer(10)
- 98.Validate Binary Search Tree&检查是否为BST
- java中利用jar包将list,对象等转换为json数据格式
- App 开发外包注意事项有哪些?
- GRE新填空技巧:感情色彩解法
- apache kafka系列之server.properties配置文件参数说明
- (6)风色从零单排《C++ Primer》 结构体,头文件
- 十步图解css的position
- flash cs4 如何新增自定义控件
- 3D数学基础--3D中的方位与角位移(1)
- PHP高并发高负载系统架构例子
- EF Code First学习笔记:数据库创建(转载 原址:http://www.cnblogs.com/Gyoung/archive/2013/01/28/2876845.html)
- 2537 8球胜负
- iOS 创建pch文件(.pch)
- *android抓包工具——fiddler抓包分析api接口