请问大家在windows form里面 什么时候用 :: , 什么情况下用 -> 呢?谢谢!
IPAddress::Parse(textBox1->Text)
IPAddress::Parse(textBox1->Text)
解决方案 »
- SetTimer 使用疑问
- webservice的界面问题
- 如何获取菜单项的说明
- 各种文件系统的磁盘卷设备BootSector数据的详细含义介绍
- ===============【世界杯决赛竞猜】意大利 vs 法国==================
- CreateProcess出错!!
- 请问怎样在CFileDialog下面扩展自己的对话框,默认好像是在右边
- 关于文件操作的问题
- BoundsChecker8.2 WatchListErrorCode=ErrorDoesNotExist问题
- VS2010的MFC程序 , 如何在子窗口里显示文字? 读取文字?
- 关于对话框界面运行时tab键切换顺序的问题
- 关于内存DC的左上角坐标的绘图问题
:: 表示某从属于关系,如Parse是IPAddress的一个函数。
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();
}
当类型被定义为非指针时使用.访问它的成员变量或函数;例如:
有一个结构定义:
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;
不一定是静态方法,也可以说是调用基类的成员函数。当然要看你的上下文环境了