今天在写代码时,遇到了一个比较奇怪的问题.
问题描述
因为我的代码比较多,所以先给出我的代码结构,见下图:
我使用的类包括三个:在Graph.h文件中的Graph类,在Query.h文件中的Query类,在BQuery.h文件中的BQuery类.Query.h头文件包含了Graph.h头文件,所以在Query类中可以定义Graph类的对象;BQuery类继承了Query类,所以BQuery类中可以使用Query类中的变量(若父类中的变量访问权限是private,那么需要利用父类的成员函数对变量进行操作).
编码时出问题的代码如下所示,其中有一些与问题无关的代码用// … 省略.
Graph.h
class Graph{
public:
// 这里还有一部分其他变量
int vsize; // 测试时使用的变量
int vis_cur; // 测试时使用的变量
// ...
Graph();
Graph(istream &);
void readGraph();
// ...
};
Graph.cpp
#include "Graph.h"
// ...
Graph::Graph(istream & in) {
readGraph(in);
cout << "vsize = " << vsize << " vis_cur = " << vis_cur << endl; // 输出结果