Título: Duda de sintaxis.. Publicado por: digimikeh en 11 Abril 2019, 16:58 pm Hola!
Entiendo que el operador de resolución de ámbito :: conecta un namespace con otro namespace o con una clase o con un método que esté dentro de un namespace específico... sin embargo, estoy viendo esto en Visual C++ y me asaltó la duda: Código: System::Windows::Forms::Application::Run(gcnew Prototipo::MyForm()); Entiendo que System es un namespace, pero que serían Windows, Forms, Application y Run en este caso? No estoy seguro pero me da la idea de que desde System hasta Application son namespace y Run es una función... pero quisiera estar seguro. Gracias saludos. Título: Re: Duda de sintaxis.. Publicado por: srWhiteSkull en 11 Abril 2019, 18:44 pm Run es un método estático que le pasas la instancia de un Form.
El namespace sería System.Windows y dentro hay declarada varias clases, entre ellas Application, encaminada al desarrollo de aplicaciones sin interfaz gráfica. https://docs.microsoft.com/en-us/dotnet/api/system.windows?view=netframework-4.7.2 Y luego tendrías el namespace System.Windows.Forms encaminada al desarrollo de aplicaciones usando interfaz gráfica (usando Form). También contiene su clase Application. https://docs.microsoft.com/es-es/dotnet/api/system.windows.forms?view=netframework-4.7.2 Título: Re: Duda de sintaxis.. Publicado por: RayR en 11 Abril 2019, 19:47 pm Ojo, que eso no es C++. Es C++/CLI, que, a pesar de lo que el nombre pueda dar a entender, es otro lenguaje diferente, creado por Microsoft, para .NET, y como con todos los lenguajes de esa plataforma, el código generado es no nativo (aunque se puede mezclar C++/CLI con C++ nativo), y la memoria la maneja el garbage collector :-\. En resumen, es un lenguaje .NET, como C# y VB.NET, que se parece mucho a C++, y nada más.
Título: Re: Duda de sintaxis.. Publicado por: digimikeh en 12 Abril 2019, 15:38 pm Gracias por las aclaraciones
Si, me he dado cuenta que es un tipo manejado de cpp. Entonces Application es una clase, pero, porque se llama a la función estática Run() de esa forma? Application::Run(); Pense que los métodos se llamaban solo de dos formas: Appication.Run() o Application->Run(); Título: Re: Duda de sintaxis.. Publicado por: digimikeh en 13 Abril 2019, 06:13 am Creo entender, ustedes me corrigen...
tendría que llamar a una función con el punto si esta siendo referenciada por una variable común y corriente.. o con el operador -> si fuera referenciada por un puntero.. pero Run() al ser estatica, no existe una instancia a ella, por eso no se usa ni punto ni ->, directamente el operador :: Código:
saludos y gracias. Título: Re: Duda de sintaxis.. Publicado por: Loretz en 13 Abril 2019, 19:34 pm No puedo decirte cómo son las reglas del C++/CLI, que ignoro olímpicamente, pero te comento para el C++ (sobreescribo tu ejemplo):
Código
|