c++ 定义了两个类,在不同的头文件中,但是在其中一个类中使用另一个类对象的时候出现了问题。

作者&投稿:呈命 (若有异议请与网页底部的电邮联系)
我在C++里,用两个头文件,定义两个类,其中一个类用另一个类对象作为成员变量,如果两个类都在同一个文件~

如果A用到B,应该在A中包含B的头文件:
#include "b.h"

作用就是全局变量,你说在一个CDialog上面需要安装一个CEdit,你不在CDialog类内定一一个CEdit对象的话,你怎么控制这个CEdit阿

intput和output成员函数都是属于 TrainingItem的,而不是属于vector<TrainingItem>的,因此如果要访问这两个成员函数,那么就应该使用迭代器或下标取出vector容器中的成员。
比如 training_set[0].output() 这样


望都县18594174486: c++ 定义了两个类,在不同的头文件中,但是在其中一个类中使用另一个类对象的时候出现了问题. -
昌物六味: intput和output成员函数都是属于 TrainingItem的,而不是属于vector的,因此如果要访问这两个成员函数,那么就应该使用迭代器或下标取出vector容器中的成员.比如 training_set[0].output() 这样

望都县18594174486: C++一个头文件定义两个类吗 -
昌物六味: 可以.定义几个都行,只是从代码规范上,当文件和类比较多的时候,一个对一个方便记忆和管理.

望都县18594174486: 我在C++里,用两个头文件,定义两个类,其中一个类用另一个类对象作为成员变量,如果两个类都在同一个文件 -
昌物六味: 1、加入include头文件2、在使用之前,声明变量使用 extern说明是外部变量

望都县18594174486: C++中,两个头文件互相引用怎么办 -
昌物六味: 两个头文件相互包含会导致超前引用的问题,所谓超前引用是指一个类型在定义之前就被用来定义变量和声明函数,发生这种情况是无法编译通过的,不过可以采取一些手段解决该问题. 超前引用导致的错误有以下处理办法: 使用类声明,在...

望都县18594174486: 在VC++6.0中怎样自己定义的一个类放入到一个头文件中? -
昌物六味: C++中,一般把类的定义放到头文件(.h)中,把类的实现放到源文件(.cpp)中,所以,一般在C++中,一个类一般需要一个与类同名的头文件和一个源文件.比如定个一个类 Sample,类中定个一个私有成员变量,和两个公共成员函数,有如...

望都县18594174486: C++中自定义类与自定义头文件有什么区别和联系 -
昌物六味: #include "自定义头文件名.h" 两者没有太大的联系,只是有时候为了程序的可管理性,一般讲一个自定义类放到一个自定义头文件中(例如使用MFC),这样可以更加方便的修改与完善程序,也添加了程序的可读性.

望都县18594174486: C++在头文件中定义了一个类.声明了成员函数.在另一个cpp文件中定义了这些成员函数. -
昌物六味: 设文件 class.h class.cpp(第一行 #include "class.h" ) main.cpp (第一行 #include "class.h" ) 在 main 中使用 这个类的时候并不需要 使用 class.cpp 文件里的定义,而实际是在使用 class.h 里的声明.不信的话你在 class.cpp 里面加一个新类 teacher 的定义,但在 class.h 里不声明,然后你看看在main.cpp 里能不能用 teacher 类.

望都县18594174486: 请C++高手们指教:(关于C++类定义时使用多个头文件怎样避免出现编译错误) 谢谢! -
昌物六味: 你发现没有每个头文件的开头都用 #ifndef XXX #define XXX...#endif ,这是给头文件做个标记(mark),当编译器编译到这里时就会记住这个标记,当再次编译到这里时,看到这个标记就直接跳过下面的东西了,可以避免重复定义.

望都县18594174486: 关于c++头文件相互包含的问题 -
昌物六味: 你不可能都需要前置定义的,肯定只有一个需要 你的问题在于,对于前置定义,你不可能在实际实现被提供前使用其具体接口,下面代码 StrBlobPtr begin(){return StrBlobPtr(*this);}//获取"首迭代器",此处用到了StrBlobPtr的构造函数,因而StrBlobPtr此时不能是不完全类型 是不允许在此时“实现”的,你只能在这先定义函数,然后在有StrBlobPtr定义后再实现 此处也不允许使用StrBlobPtr作为返回值,因为它需要拷贝构造函数,你只能返回指针或者引用

望都县18594174486: C++怎么让两个头文件相互包含? -
昌物六味: 可以通过预处理宏来控制重复包含的问题如果是模板类,那么类成员函数声明为内联的即可 例如 //A.h #pragma once#include "B.h" template<typename T> class B; template<typename T> class A { public: A(B<T>* b=NULL):b_(b){}; void SetPtr(...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网