.h文件进行声明类
在学习c语言的时候我们就用到过.h文件,他可以对一些方法进行声明,然后我们用.c文件去实现.h文件的函数,这样我们就可以在任何一个地方只需要这个.h文件在使用的范围就可以进行使用,在前面我们也进行了lib,dllwindows打包和linux下面打包的操作,在这上面都用到了.h文件,他就是一个辅助的文件,用来做一些声明和定义的作用。这次我们用到的是C++利用C++的类概念,我们把类也单独写一个.h和一个cpp文件。首先我们拿圆的类来做实验既方便又好理解。首先定义.h文件
#pragma once//定义了一个类不会重复
class MyCirce
{
public:
void setR(int r);//设置半径
int getR();//获得半径
int getS();//获得面积
private:
int m_s;//面积
int m_r;//半径
};
这里基本上都配有说明应该不难,加上上次学习的内容基本上也没有新的内容,就是把我们定义的类从.cpp文件中移植到我们的.h文件中,然后把函数的实现删除掉,只留下函数的定义,这个看起来也不难,在我们用vs2013的情况下.h文件应该放入到头文件下面。然后就是我们的点CPP文件的实现代码如下。
#include "myCircle.h"
#define PI 3.14
void MyCirce::setR(int r)
{
m_r = r;
}
int MyCirce::getR()
{
return m_r;
}
int MyCirce::getS()
{
m_s = PI * m_r * m_r;
return m_s;
}
这个例子有一个新的地方MyCirce::这个,他代表这个函数是在MyCirce这个类下面的函数,你也可以理解为他就是一个类的内部函数。
整个工程代码例子
例子
#pragma once//定义了一个类不会重复
class MyCirce
{
public:
void setR(int r);//设置半径
int getR();//获得半径
int getS();//获得面积
private:
int m_s;//面积
int m_r;//半径
};
#include "myCircle.h"
#define PI 3.14
void MyCirce::setR(int r)
{
m_r = r;
}
int MyCirce::getR()
{
return m_r;
}
int MyCirce::getS()
{
m_s = PI * m_r * m_r;
return m_s;
}
测试类
#include "iostream"
#include "myCircle.h"
using namespace std;
int main()
{
MyCirce myCe;
int r = 0;
cout << "请输入圆的半径";
cin >> r;
myCe.setR(r);
int s = myCe.getS();
cout << "圆的面积是多少" << s << endl;
system("pause");
return 0;
}