C++中的.和::和:和->的区别

目录

 

1、A.B  A为对象或者结构体;

2、A->B  A为指针,->是成员提取,A->B是提取A中的成员B,A只能是指向类、结构、联合的指针;

3、::是作用域运算符,A::B表示作用域A中的名称B,A可以是命名空间、类、结构;

4、:

表示继承

另一种是构造函数


 

1、A.B  A为对象或者结构体;

此处,validationOptions是一个class对象,取他的成员。

2、A->B  A为指针,->是成员提取,A->B是提取A中的成员B,A只能是指向类、结构、联合的指针;

此处findServersRequest是一个指针,Header()为成员函数。

 

3、::是作用域运算符,A::B表示作用域A中的名称B,A可以是命名空间、类、结构;

此处为经常用到的std命名空间的的string对象。

    1)类作用域操作符。“::”指明了成员函数所属的类。
     2)表示引用成员函数及变量,作用域成员运算符。例如:System::Math::Sqrt() 相当于System.Math.Sqrt()

 

4、:

表示继承

类ClientCertificateValidationOptions_t 继承自 Allocatable_t。

另一种是构造函数

其实冒号后的内容是初始化成员列表,一般有三种情况:
1、对含有对象成员的对象进行初始化,例如,
类line有两个私有对象成员startpoint、endpoint,line的构造函数写成:
line(int sx,int sy,int ex,int ey):startpoint(sx,sy),endpoint(ex,ey){……}
初始化时按照类定义中对象成员的顺序分别调用各自对象的构造函数,再执行自己的构造函数
2、对于不含对象成员的对象,初始化时也可以套用上面的格式,例如,
类rectangle有两个数据成员length、width,其构造函数写成:
rectangle():length(1),width(2){}
rectangle(int x,int y):length(x),width(y){}
3、对父类进行初始化,例如,
CDlgCalcDlg的父类是MFC类CDialog,其构造函数写为:
CDlgCalcDlg(CWnd* pParent ): CDialog(CDlgCalcDlg::IDD, pParent)
其中IDD是一个枚举元素,标志对话框模板的ID
使用初始化成员列表对对象进行初始化,有时是必须的,有时是出于提高效率的考虑

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值