c++中的:和::以及*和**的区别是什么?刚学不太明白

c++中的:和::以及*和**的区别是什么?刚学不太明白。。。

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

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-03-05
:是类初始化时的一种语法
如class A
{
public:
A() : a(1){}
void fun(){}
private:
int a;
};冒号实现成员初始化列表,使初始化变得简单快捷;

::是作用域标示符,用法如A::fun(); 他是为了标识你的函数的作用域,例如你的B类是A的子类
若B类对象想调用A的fun就要用A::fun调用,否则默认调用的是B类的fun

(*操作符定义变量时指类型,操作变量时指取值)
*是定义指针如 int *p; 定义一个int型的指针;
int a=1;p = &a;p指向int变量a;对a操作时*p = 2;即a的值变为2 ,此处*是取p所指变量的值。

**是二维指针,即指针的指针,int **q = &p;q是指向一个指针变量p的指针,
**q=3,;则a变为3;*q = 0;则指针p指空;

希望能帮到你本回答被提问者采纳
第2个回答  2013-03-05

第3个回答  2013-03-05
1. ":"一般出现在问号表达式,形式如 a ? b : c; 其中冒号用于分隔问号表达式的两个分支。
2. "::"一般出现在类定义中,形式如void CTest::test(){ }用于表示void test()方法是属于类CTest的,类中的常量或者静态变量也是通过该符号来表示,简单的来说该符号就是用来表示一种归属关系。
3. "*"和"**"这两个符号并无本质上的区别,一个"*"表示取值符号,一般用于指针,而两个"**"则表示取完值再取值,就是一次简单的叠加使用。单个星号一般配合一级指针使用,两个星号一般配合二级指针使用,依次类推,还可以有三个星号,四个星号,只要区分清楚地址和值的关系就一目了然了。同时指针也是C语言的精华之一。
相似回答