|
From: Per W. <pw...@ia...> - 2003-01-30 17:40:18
|
Don't implement all code inline, it isn't a requirement as in Java.
Normally, you put most of your code in a cpp file, while the class
declaration and some small - very small normally - methods are inline in
the header file.
Class forwarding may only allow you to declare functions taking the class
as parameter - not to actually access the forward-declared class.
You may write:
class class A;
class classB {
private:
classA *pClassA;
classA &rClassA;
// Forbidden - don't know size of classA!
classA classA;
public:
classB(classA *pClassA);
classB(classA &rClassA);
// Forbidden - don't know size of classA!
classB(classA classA);
void do_something(classA *pClassA) {
// Forbidden - don't know interfaces of classA!
pClassA->do_something;
}
}
/Per W
On Thu, 30 Jan 2003, Lu=EDs Br=E1s wrote:
> I'm trying to compile this program in Dev-C++:
>
> ------------------------------------------------------
>
> #include <iostream>
> #include <stdlib.h>
>
> using namespace std;
>
> class classA;
>
> class classB
> {
> private:
> int num_classB;
> public:
> classB(void)
> {
> num_classB =3D 0;
> }
> classB(int num)
> {
> num_classB =3D num;
> }
void user_classA();
> };
>
> class classA
> {
> private:
> int num_classA;
> classB objA;
> public:
> classA(void)
> {
> num_classA =3D 0;
> }
> classA(int num)
> {
> num_classA =3D num;
> }
> void resultado(void)
> {
> cout << num_classA << endl;;
> }
> void set_resultado(int num)
> {
> num_classA =3D num;
> }
> };
void classB::user_classA() {
classA objA;
objA.set_resultado(10);
objA.resultado();
}
>
> int main(int argc, char *argv[])
> {
>
> classB obj;
> obj.usar_classA();
>
> system("PAUSE");
> return 0;
> }
>
> ------------------------------------------------------
>
> any help?
>
>
>
> =3D=3D=3D=3D=3D
> +=3D+=3D+=3D+=3D+=3D+=3D+=3D+=3D+=3D+=3D+=3D+=3D+=3D+=3D+=3D+=3D+=3D+=3D+=
=3D+=3D+=3D+=3D+=3D+=3D+=3D+=3D+=3D+=3D+=3D+=3D
> Lu=EDs Filipe Delgado Br=E1s
> lf...@ya...
> http://www.fotopt.net/autor.asp?autor=3D2637
> +=3D+=3D+=3D+=3D+=3D+=3D+=3D+=3D+=3D+=3D+=3D+=3D+=3D+=3D+=3D+=3D+=3D+=3D+=
=3D+=3D+=3D+=3D+=3D+=3D+=3D+=3D+=3D+=3D+=3D+=3D
>
> __________________________________________________
> Do you Yahoo!?
> Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
> http://mailplus.yahoo.com
>
>
> -------------------------------------------------------
> This SF.NET email is sponsored by:
> SourceForge Enterprise Edition + IBM + LinuxWorld =3D Something 2 See!
> http://www.vasoftware.com
> _______________________________________________
> Dev-cpp-users mailing list
> Dev...@li...
> TO UNSUBSCRIBE: http://www.noicys.cjb.net/devcpp/ub.htm
> https://lists.sourceforge.net/lists/listinfo/dev-cpp-users
>
|