.cpp 中写的类, 怎么在 .h 前部声明
.cpp 中写的类, 如何在 .h 前部声明
比如我有一个很简单的类是写在 cpp中
class CTest
{
public:
void fun()
{
;;
}
void fun2()
{
;
}
protected:
private:
};
然而我在头文件中要用到 CTest , 所以要声明一下.
但是我又不想把 CTest 移到.h中,
本来以为可以用extern声明.发现不可以这样做.
如果是在.h中写
class CTest
{
public:
void fun3();
void fun();
void fun2();
}
然后又要在 .cpp 写 CTest::fun() 的实现 ,
因为这样的类代码也不多,所以懒得在.h .cpp都写
请问有没有办法在 .h 中来个先声明一下?
------解决方案--------------------
class CTest;
------解决方案--------------------
如果你在头文件中, 只有关于这人类的指针, 那么直接按1楼的方法声明一个有这个类就可以了.
但是如果你在头文件中,有使用CTest创建对象之类的, 那么就需要在头文件中知道类的完整定义,而不是一个声明.
请问你在头文件中怎么使用这个CTest类的.
如果有对象之类的, 那么还是老老实实的写出完整定义吧.
------解决方案--------------------
直接连实现移到头文件中即可。
class CTest
{
public:
void fun3(){...};
void fun(){...};
void fun2(){...};
}
比如我有一个很简单的类是写在 cpp中
class CTest
{
public:
void fun()
{
;;
}
void fun2()
{
;
}
protected:
private:
};
然而我在头文件中要用到 CTest , 所以要声明一下.
但是我又不想把 CTest 移到.h中,
本来以为可以用extern声明.发现不可以这样做.
如果是在.h中写
class CTest
{
public:
void fun3();
void fun();
void fun2();
}
然后又要在 .cpp 写 CTest::fun() 的实现 ,
因为这样的类代码也不多,所以懒得在.h .cpp都写
请问有没有办法在 .h 中来个先声明一下?
------解决方案--------------------
class CTest;
------解决方案--------------------
如果你在头文件中, 只有关于这人类的指针, 那么直接按1楼的方法声明一个有这个类就可以了.
但是如果你在头文件中,有使用CTest创建对象之类的, 那么就需要在头文件中知道类的完整定义,而不是一个声明.
请问你在头文件中怎么使用这个CTest类的.
如果有对象之类的, 那么还是老老实实的写出完整定义吧.
------解决方案--------------------
直接连实现移到头文件中即可。
class CTest
{
public:
void fun3(){...};
void fun(){...};
void fun2(){...};
}