Hello. I tried to convert the following C# code into C++/CLI.
namespace ConsoleApplication public class NestedClass2 : Class2.NestedClass2 class Class2 public class NestedClass2 : Class1.NestedClass1 |
At first, I supposed the following code, but it was failed to compile. Anyone know how to write it
namespace ConsoleApplication public ref class Class1 ref class NestedClass2 : Class2::NestedClass2 public ref class Class2 ref class NestedClass2 : Class1::NestedClass1 |

How to write two nested classes extend the other parent class each other
Raffaele Rialdi
Interesting.
class a
class b
class c : public a
class c0 : public b
class d : public b
class d0 : public a
different approach more extensible
Kuphryn
Charles Lee
You can't forward declare nested classes in C++ so you have to define these classes as follows:
namespace ConsoleApplication {
public ref class Class1 {
public:
ref class NestedClass1;
ref class NestedClass2;
};
public ref class Class2 {
public:
ref class NestedClass1;
ref class NestedClass2;
};
ref class Class1::NestedClass1 : Class2 {
};
ref class Class2::NestedClass1 : Class1 {
};
ref class Class1::NestedClass2 : Class2::NestedClass1 {
};
ref class Class2::NestedClass2 : Class1::NestedClass1 {
};
}
Student_I
Chris Foley
Thank you Jonathan. I have to learn C++ more. I have the other related question.
What is the equivalent C++/CLI code for the following C# code.
namespace ConsoleApplication
{
class Class1
{
public class NestedClass1 : Class2
{
}
public void Method(Class2.NestedClass1 p)
{
}
}
class Class2
{
public class NestedClass1 : Class1
{
}
public void Method(Class1.NestedClass1 p)
{
}
}
}
I have no idea about it.