C++ Primer读书笔记第二章⑥
C++ Primer
第二章 变量和基本类型
自定义数据结构
class Primer
{
std::string sBookNo;
std::string sAuthor;
double dRevenue;
};
自定义数据结构以关键字class(或struct)开始,紧跟着类名和实体,最后的分号不能省略
自定义数据结构是自然事物的抽象表达,比如我们可以定义一个数据结构用来表示人当我们关注人的姓名、身高、体重时,数据结构可以这样定义:
class Person
{
std::string sName;
double dHeight;
double dWeight;
};
数据成员
- 数据成员定义了类的对象的具体内容
- 每个对象有自己的一份数据成员拷贝
头文件 头文件通常包含那些只能被定义一次的实体,如类、const变量和constexpr变量等
头文件存在多次包含的情况(直接和间接),编译器会把头文件中的内容拷贝到包含文件中,而我们又要确保头文件中的内容不被多次定义。
这需要用到头文件保护符
//SalesData.h
#ifndef SALES_DATA_H
#define SALES_DATA_H
struct Sales_data
{
};
#endif
预处理器在这里发挥了很大的作用。 ->#ifndef是“如果没有定义”的意思,SALES_DATA_H是“预处理变量”,
- 如果没有定义SALES_DATA_H,定义SALES_DATA_H,执行下面的代码直到endif
- 如果SALES_DATA_H已经定义过,则后面的代码不会执行。
这样确保头文件被多次包含时,其中的内容不会被多次定义。 关于自定义数据结构,我们后面还会详细讲解,不清楚的地方先别急。
#C++工程师#