C++中关于如何使用自己编写的头文件问题!有代码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++中关于如何使用自己编写的头文件问题!有代码相关的知识,希望对你有一定的参考价值。

下面是process.h的代码:#include <windows.h>//这是一个用来关闭进程的类
class CProcess

public: HWND m_hTargetWindow;
ULONG m_ProcessID;
HANDLE m_hOpenTargetWindow; void EndProcess(LPCTSTR str)

m_hTargetWindow=::FindWindow(NULL,str);
::GetWindowThreadProcessId(m_hTargetWindow,&m_ProcessID);
m_hOpenTargetWindow=::OpenProcess(PROCESS_TERMINATE,NULL,m_ProcessID);
::TerminateProcess(m_hOpenTargetWindow,4);

;
下面是shut.CPP代码:#include <windows.h>
#include <process.h>//包含了process.h void main() //调用process.h里定义的类的成员函数
CProcess pro;pro.EndProcess("QQ2011"); 编译报错:
CProcess' : undeclared identifier
为什么说我没有定义呢?

#include <process.h>//包含了process.h
这个不要适用尖括号,要适用双引号
因为这个文件不是系统的文件,而是你自己写的文件,适用 双引号包含
参考技术A 头文件改个名字 ,比如myprocess.h
源文件里#include"myprocess.h"

C++中关于属性向量的查询

【中文标题】C++中关于属性向量的查询【英文标题】:Query about Properties Vectors in C++ 【发布时间】:2011-10-02 08:40:49 【问题描述】:

我是一个初学者,刚刚接触到 C++ 中向量的概念。我有几个问题 1. C++中有二维向量的概念吗?如果是,那么我如何声明对应于二维矩阵 a[n][m]?这里,n 和 m 是变量。 2. 向量如何作为参数传递给函数?默认情况下,它们是按引用传递还是按值传递? 3. C++ 中向量相对于数组有什么性能优势?

【问题讨论】:

【参考方案1】:

1 - 本身并没有真正的维度概念。但是您可以创建“嵌套”类型。例如:

std::vector <int> intVec;
std::vector < std::vector <int> > doubleIntVec;

在这里,intVec 可以与一维向量进行比较,doubleIntVec 可以与二维向量进行比较,等等。类型不必相同,例如可以std::vector &lt; std::vector &lt;char&gt; &gt; doubleIntVec,这就是为什么“维度”在这里不是正确的术语。

2 - 与任何其他类型一样,向量没有特定的处理方式。

3 - 是的,例如,如果您需要调整它们的大小,但您可以实现数组以类似的行为。除此之外的好处是标准化、内置的内存管理、附加方法以及可以在向量上运行的各种 STL 算法(作为标准容器)。

【讨论】:

【参考方案2】:

C++ 中没有二维向量,要创建矩阵,可以使用向量的向量。

using namespace std;
int m, n;
// ...
vector<vector<int> > v(n);
for (int y = 0; y < n; y++)
    v[n].resize(m);
// ...

不过,计算库不会以这种方式实现它们。

要通过引用函数来传递向量,请使用: 无效函数(向量 & v); 省略 & 将导致在函数调用期间复制向量。

向量具有与 C 数组相同的性能,但更实用。 无需手动管理内存,向量大小始终可访问。 您还可以自动复制并保证值的连续性(原始数据可以通过 vector::data() 访问

【讨论】:

难道没有更好的方法来声明大小为 m*n 的向量吗?? 一个大小为 m*n 的向量就是 vector&lt;T&gt; v(m*n),在这种情况下,您需要使用 m*y+x 计算 (x,y) 单元格偏移量,而嵌套向量允许使用v[y][x] 语法...【参考方案3】:

C++ 中的向量只是一个序列容器。所以,可以用它来保存一个二维数组。

    使用std::vector &lt;std::vector&lt;int&gt;&gt; 这取决于目的。 性能不佳,但与数组不同,std::vector 是可增长的。

【讨论】:

以上是关于C++中关于如何使用自己编写的头文件问题!有代码的主要内容,如果未能解决你的问题,请参考以下文章

C++ 中算术运算符的头文件

如何自己编写Arduino支持的C++类库

linux下编写c++,include的那些头文件在啥地方

编写OC高质量的代码的有效方法

C++中关于属性向量的查询

linux下编写c++,include的那些头文件在啥地方