c++中的 -> 、::、 .的作用,都分别用在什么地方

如题所述

.是成员运算符,就是用来指明结构体,类,联合体的变量中的某个成员或函数,比如
class A
{
public:
void foo();
public:
int number;
};

A a;
a.foo(); //调用类A的实例a的成员函数foo
a.number = 0; //调用类A的实例a的成员变量number赋值

::是作用域限定符,即指明::运算符右边的名字从属于该运算符左边的名字,接上例,刚才的foo函数仅仅是声明,却没有定义,现在,在类体外定义它。
void A::foo()
{
//...
}
上面用了::符号,就表明函数foo是属于类A的。

->是指向运算符,其作用与成员运算符(.)是一样的,只不过在它左边的名字不是实例,而是指针。依然用类A。
A *p = new A;
p->foo(); //调用类A的指针变量p指向的实例的成员函数foo
p->number = 0; //调用类A的指针变量p指向的实例的成员变量number赋值
delete p; //释放指针
p = null; //将指针置空
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-10-03
->是指针,是一个指针变量访问其所指向地址存放其内部成员的方式;如struct A{int a;int b;}tmp;
struct A *p = new struct A; cout<<p->a<<p->b;其使用是和.类似,不同的是因为其是指针的缘故
::是作用域符号,主要有3个作用
1:作用域符号::的前面一般是类名称,后面一般是该类的成员名称,C++为例避免不同的类有名称相同的成员而采用作用域的方式进行区分
如:A,B表示两个类,在A,B中都有成员member。那么
A::member就表示类A中的成员member
B::member就表示类B中的成员member
2:全局作用域符号:当全局变量在局部函数中与其中某个变量重名,那么就可以用::来区分如:
char zhou; //全局变量
void sleep()

char zhou; //局部变量
char(局部变量) = char(局部变量) *char(局部变量) ;
::char(全局变量) =::char(全局变量) *char(局部变量);

3:::是C++里的“作用域分解运算符”。比如声明了一个类A,类A里声明了一个成员函数voidf(),但没有在类的声明里给出f的定义,那么在类外定义f时,就要写成voidA::f(),表示这个f()函数是类A的成员函数。
.是用来访问类,结构等内部成员的运算符,是同->相同的使用方式
第2个回答  2012-10-03
第一个是指针 第二个是作用域 第三个 是类成员使用

c++中的 -> 、::、 .的作用,都分别用在什么地方
::是作用域符号,主要有3个作用 1:作用域符号::的前面一般是类名称,后面一般是该类的成员名称,C++为例避免不同的类有名称相同的成员而采用作用域的方式进行区分 如:A,B表示两个类,在A,B中都有成员member。那么 A::member就表示类A中的成员member B::member就表示类B中的成员member 2:全局...

c++中的 -> 、::、 .的作用,都分别用在什么地方
::是作用域限定符,即指明::运算符右边的名字从属于该运算符左边的名字,接上例,刚才的foo函数仅仅是声明,却没有定义,现在,在类体外定义它。void A::foo(){ \/\/...} 上面用了::符号,就表明函数foo是属于类A的。->是指向运算符,其作用与成员运算符(.)是一样的,只不过在它左边的名字...

C++里::是什么意思
"::"在C++中表示作用域,和所属关系。"::"是运算符中等级最高的,它分为三种,分别如下:一、作用域符号:作用域符号”::“的前面一般是类名称,后面一般是该类的成员名称,C++为例避免不同的类有名称相同的成员而采用作用域的方式进行区分。例如:A,B表示两个类,在A,B中都有成员member。那么...

C语言中->是什么意思啊?
->是一个整体,它是用于指向结构体、C++中的class等含有子数据的指针用来取子数据。换种说法,如果我们在C语言中定义了一个结构体,然后申明一个指针指向这个结构体,那么我们要用指针取出结构体中的数据,就要用到“->”.举个例子:struct Data { int a,b,c;}; \/*定义结构体*\/ struct Data *...

C++中这段代码中::和:分别是什么意思
::是作用域操作符,这里表示后面的名字FrameworkListener是属于前面的类FrameworkListener的一个成员 :后面是初始化列表,表示初始化类的成员变量

c++中->是什么意思?
详情请查看视频回答

c++ 中A.B和A—>B的区别
c++语言是c语言发展起来的,所以继承了c语言几乎所有的特点,但c++语言又有自己的个性。c语言是一种面向过程的编程语言,而c++主要是面向过程的,因此c++有类的概念,而c语言就没有。c++的功能强大,编译器复杂,适合高端程序的设计和编辑,c语言的编译器简易,适合低端程序。

C++里面”>>“和”<<“各是什么意思?
<<和>>在c中是用来做位运算的,在C++中被重载了,即可以做位运算也可以做输入输出zhi流。区别如下:1、应用场合不同:C语言是结构化和模块化的语言,是面向过程的。当程序的规模较小时,C语言运用起来得心应手。但是当问题比较复杂、程序的规模比较大的时候,C语言就会展现出它的局限性;正是因为...

c语言中有哪些运算符,各有什么功能?
1、赋值语句的作用是把某个常量或变量或表达式的值赋值给另一个变量。符号为‘=’。这里并不是等于的意思,只是赋值,等于用‘==’表示;2、算术运算符在C语言中有两个单目和五个双目运算符;3、逻辑运算符是根据表达式的值来返回真值或是假值。其实在C语言中没有所谓的真值和假值,只是认为非0为...

c++中的“%d”这是什么意思。
在c++里%d是占位符的意思,%是引导符,d表示十进制整数的形式,%d对应int类型。C++运算符:作用域运算符::成员访问运算符.指向成员运算符-> 下标运算符[]括号\/函数运算符()自增运算符++单目运算符 自减运算符-- 按位取反运算符~逻辑非运算符!正号+ 负号- 取地址运算符& ...

相似回答