C++ 中域操作符::可以用 . 来代替吗?

qq_35531777 2016-10-22 10:15:17
C++ 中域操作符::可以用 . 来代替吗?
比如 class A ;
void A (int )
{
public inline func(int a );
}
A::func(int a) {x=a} ; //这句可以用A.func(int a) {x=a} ; 来代替吗?
...全文
255 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
AlbertS 2016-10-25
  • 打赏
  • 举报
回复
这里是一种作用域的概念,不可以替换
ipqtjmqj 2016-10-25
  • 打赏
  • 举报
回复
Java中可以
小灸舞 2016-10-24
  • 打赏
  • 举报
回复
::是域作用符,是各种域性质的实体(比如类(不是对象)、名字空间等)调用其成员专用的。
(如果有个局部变量与全局变量同名(假设都是int a;),默认调用的 a 是局部变量,如果要访问全局变量a,就要这么写“::a”。使用域作用符来加以区别;前面没写具体的域名,就是指默认域)

.是成员作用符,是对象专用的。

比如
struct A
{
int InnerPara;
static int StPara;
} a;
a访问时用“.”,如a.InnerPara;A访问用“::”,如A::StPara;
Saleayas 2016-10-22
  • 打赏
  • 举报
回复
:: 是范围。 而 . 是所有者。 不可以的。
ooolinux 2016-10-22
  • 打赏
  • 举报
回复
访问类的静态成员也用 类名::静态成员/函数
ooolinux 2016-10-22
  • 打赏
  • 举报
回复
::用于类 .用于类的对象 ->用于对象指针
xskxzr 2016-10-22
  • 打赏
  • 举报
回复
void A(int) 你是想干什么……
paschen 版主 2016-10-22
  • 打赏
  • 举报
回复
不可以 ::用于类型 . 用于对象 你的A是一个类型,不是对象

64,647

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧