个人体会:编写自己的头文件

最近在看C++的一本入门参考书,C++ primer。其中有涉及到自己编写一个头文件,并在头文件中定义一个Sales_item的类。经过查看有关内容后,发现编写这么一个文件关键就是格式,也就是所谓的语法了。格式如下,编写了一个sale.h的头文件。

#ifndef sale_h

#define sale_h

把类的定义写在此处

#endif

然后在自己所写的.cpp中只要包含了这个头文件,那么你自己所定义的类也就可以使用了。下面是具体的实现代码。

注意第一个的文件后缀是.h,也就是它是一个头文件。

#include<string>
#include<string.h>
#include<iostream>
using namespace std;
#ifndef sale_h
#define sale_h
class Sales_item{
private:
	string isbn;
	unsigned units_sold;
	double avg_price;
public:
	Sales_item():avg_price(0.0),units_sold(0){};
	Sales_item(unsigned a,string b){ isbn=b;units_sold=a;}
	void show() const;
	bool same_isbn(const Sales_item &rth) const;
};
void Sales_item::show() const{
	cout<<isbn<<" "<<units_sold<<" "<<avg_price<<endl;
}
bool Sales_item::same_isbn(const Sales_item &rth) const
{
	return isbn==rth.isbn;
}
#endif

然后在具体的.cpp中书写如下

#include<iostream>
#include<string>
#include<string.h>
#include"sale.h"
using namespace std;

int main()
{
	Sales_item c(2,"isbn");
	c.show();
	system("pause");
	return 0;
}

具体调用以及类的定义只是大体说明,具体的一些方法(函数)还需要自己写。自己理解的有不到之处请指出。

时间: 2024-10-05 09:04:45

个人体会:编写自己的头文件的相关文章

编写自己的头文件

1.头文件TestCpp.h #ifndef TESTCPP_H #define TESTCPP_H struct TestCpp{ std::string name; unsigned int id; }; #endif 2.主函数testTestCpp.cpp #include <iostream> #include "TestCpp.h" int main() { TestCpp t1; t1.name = "xiaoming"; t1.id =

socket头文件

一 三种类型的套接字:1.流式套接字(SOCKET_STREAM)    提供面向连接的可靠的数据传输服务.数据被看作是字节流,无长度限制.例如FTP协议就采用这种.2.数据报式套接字(SOCKET_DGRAM)    提供无连接的数据传输服务,不保证可靠性.3.原始式套接字(SOCKET_RAW)    该接口允许对较低层次协议,如IP,ICMP直接访问. 二 基本套接字系统调有有如下一些:    创建套接字: socket()    绑定本机端口: bind()    建立连接: conne

C++包含头文件时尖括号和双引号区别

原文链接:http://c.biancheng.net/cpp/biancheng/view/66.html 如果你还看一些别的C++教程,那么你可能很早就发现了,有些书上的#include命令写作#include <文件名>,但有时候又会出现#include "文件名".你会很疑惑,到底哪个是对的呢?为什么要有这两种不同的写法呢? 这两种写法都是正确的写法,但是它们却是有区别的.我们知道C++已经有一些编写好的头文件(比如标准函数库等等),它们存放在VC++的Includ

c中头文件在cpp文件中引用和.h文件引用的思考

我们在编写程序中头文件是经常使用的.但是头文件是应该包含在.H文件中还是在.cpp文件中.在这个当中有什么样去区别呢.  假如说我们编写了一个a.cpp  .我们将a.cpp文件的变量和函数申明在a.h中.在a.h文件有使用了b.中定义的类型type1数据m_type,同样b.cpp的头文件一些变量也声明在b.h中.此时我们当然可以在a.cpp中包含b.h 也可以在a.h中.这样都是可行的,因为我们编译的时候会会将b.h包含进来.而.h文件是不参与编译的.然后我们继续深入.假如我们将b.h文件定

Linux网络常用头文件说明

sys/types.h:数据类型定义 sys/socket.h:提供socket函数及数据结构 netinet/in.h:定义数据结构sockaddr_in arpa/inet.h:提供IP地址转换函数 netdb.h:提供设置及获取域名的函数 sys/ioctl.h:提供对I/O控制的函数 sys/poll.h:提供socket等待测试机制的函数 其他在网络程序中常见的头文件 unistd.h:提供通用的文件.目录.程序及进程操作的函数 errno.h:提供错误号errno的定义,用于错误处理

linux socket网络编程 常用函数及头文件

转自:http://blog.chinaunix.net/u3/102500/showart_2065640.html 一 三种类型的套接字: 1.流式套接字(SOCKET_STREAM) 提供面向连接的可靠的数据传输服务.数据被看作是字节流,无长度限制.例如FTP协议就采用这种. 2.数据报式套接字(SOCKET_DGRAM) 提供无连接的数据传输服务,不保证可靠性. 3.原始式套接字(SOCKET_RAW) 该接口允许对较低层次协议,如IP,ICMP直接访问. 二 基本套接字系统调有有如下一

socket编程需要哪些头文件

一 三种类型的套接字:1.流式套接字(SOCKET_STREAM)    提供面向连接的可靠的数据传输服务.数据被看作是字节流,无长度限制.例如FTP协议就采用这种.2.数据报式套接字(SOCKET_DGRAM)    提供无连接的数据传输服务,不保证可靠性.3.原始式套接字(SOCKET_RAW)    该接口允许对较低层次协议,如IP,ICMP直接访问. 二 基本套接字系统调有有如下一些:    创建套接字: socket()    绑定本机端口: bind()    建立连接: conne

头文件的编写和引用

      我用的是 Dev-c++  编写头文件 首先写头文件里面的函数, 然后保存,记得后缀写  .h   就行 例:(顺序表的头文件) #define MAXSize 50#define OVERFLOW -2#define ElemType int using namespace std;typedef struct List{ ElemType *elem; int length; }SqList;void InitList(SqList &L){ //构造一个空的顺序表 L.elem

编写一个可变参数的C函数——头文件stdarg.h中宏va_start ,va_arg和va_end的应用

我们在C语言编程中会遇到一些参数个数可变的函数,例如printf()这个函数,它的定义是这样的:int printf( const char* format, ...);它除了有一个参数format固定以外,后面跟的参数的个数和类型是可变的,例如我们可以有以下不同的调用方法:printf("%d",i);printf("%s",s);printf("the number is %d ,string is:%s", i, s);究竟如何写可变参数的