C++随笔

1.点(.)操作符和箭头(->)操作符

当定义类对象是指针对象时候,就需要用到 “->” 指向类中的成员;当定义一般对象时候时就需要用到 “.” 指向类中的成员…….
例如:

class A 
{ 
      public:
      play(); 
}

如果定义如下:

A *p则:p->play()使用; 左边是结构指针。
A p 则:p.paly()使用; 左边是结构变量。

总结:
箭头(->):左边必须为指针;
点号(.):左边必须为实体。

2.作用域符号::

(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的成员函数。例如:

class CA {    

public:    

  int ca_var;    

  int add(int a, int b);    

  int add(int a);    

};   

//那么在实现这个函数时,必须这样书写:    

int CA::add(int a, int b)    

{    

  return a + b;    

}    

//另外,双冒号也常常用于在类变量内部作为当前类实例的元素进行表示,比如:    

int CA::add(int a)    

{    

  return a + ::ca_var;    

}   
   
//表示当前类实例中的变量ca_var。
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.有以下程序段 若要求使p指向一个int型的动态存储单元,在横线处应填入的是?答:( int * ) 解析:m...
    LioveM阅读 3,728评论 0 0
  • Android Studio 编译原生库的默认编译工具是 CMake。由于很多现有项目都使用 ndk-build ...
    萍水相逢_程序员阅读 5,458评论 0 0
  • 1.List,Set,Map都继承自继承Collection接口? 答:List,Set等集合对象都继承自Coll...
    LioveM阅读 3,188评论 0 0
  • 1.constructor构造函数 构造函数名称=类名。构造函数的作用:初始化对象的数据成员。 1.1 构造函数的...
    hui1429阅读 3,315评论 0 0
  • 1.constructor构造函数 构造函数名称=类名。构造函数的作用:初始化对象的数据成员。 1.1 构造函数的...
    hui1429阅读 2,999评论 0 0

友情链接更多精彩内容