请问大家在windows form里面 什么时候用  :: , 什么情况下用 -> 呢?谢谢!
IPAddress::Parse(textBox1->Text)

解决方案 »

  1.   

    ->用在对象指针调用其成员函数或者成员变量。
    :: 表示某从属于关系,如Parse是IPAddress的一个函数。
      

  2.   

    是否可以这样理解呢Parse 是 IPAddress 的一个静态方法,所以 这样调用 IPAddress::Parse如果是非静态方法 例如 AddressFamily 就这样 IPAddress->AddressFamily 调用了吧谢谢大家
      

  3.   

    ::是作用域运算符两种可能:一是调用基类的函数,二是调用API函数。显然,你这里是调用了API函数。作用域:标识符的有效范围。可见性:标识符是否可引用的问题。
        1、函数原型作用域
        2、块作用域与分程序
        3、文件作用域与全局变量
        4、类作用域
    数据成员的作用域为类的所有成员函数,即具有类作用域。
    类的封装作用就是限制数据的作用域
    作用域限定符  ::
    Try::x (类Try中的数据成员x)
    ::x (全局变量x)
        5、可见性
    标识符的可见性范围是作用域的子集。
    【图5-1】
    作用域可见性的四个规则。
    可见性被屏蔽的几种主要情形:
    一、分程序内,内层块屏蔽外层块
    二、类的成员函数内,局部变量屏蔽数据成员
    三、类的成员函数内,数据成员屏蔽全局变量
    四、函数体内,局部变量屏蔽全局变量
        后三种有解决屏蔽的办法:通过作用域限定符
    #include <iostream.h>
    int X = 100; class A {
    public:
    A() { X = 0; };
    void f();
    private:
    int X;
    };
    void A::fun()
    {
    // int X = 1;
    cout << X << endl;
    // cout << X << endl;
    }
    void main ( ) {
    A a;
    a.fun();
    }
      

  4.   

    ->和.是成员访问操作符。当类型的定义是类(classes)、结构(structures)或共用体(unions)时,使用->和.来访问;当类型被定义为指针时使用->访问它的成员变量或函数;
    当类型被定义为非指针时使用.访问它的成员变量或函数;例如:
    有一个结构定义:
    struct Date {
       Date(int i, int j, int k) : day(i), month(j), year(k){}
       int month;
       int day;
       int year;
    };当定义为非指针时:
    Date mydate(1,1,1900);
    访问month这样:
    mydate.month = 2;  
    当定义为指针时:
    Date *mydate2 = new Date(1,1,2000);
    访问month这样:
    mydate2->month = 2;
      

  5.   

    是否可以这样理解呢Parse 是 IPAddress 的一个静态方法,所以 这样调用 IPAddress::Parse如果是非静态方法 例如 AddressFamily 就这样 IPAddress->AddressFamily 调用了吧谢谢大家
      

  6.   

    IPAddress::Parse
    不一定是静态方法,也可以说是调用基类的成员函数。当然要看你的上下文环境了