当前位置:首页 C++ > 正文

C++中“:”,“.”,“::”以及“->”的用法

作者:野牛程序员:2023-07-29 19:28:04 C++阅读 4321

在C++中,冒号(:)、点号(.)、双冒号(::)和箭头符号(->)都是用于类和对象操作的运算符,它们有不同的用法和含义。

  1. 冒号(:):

    • 用于初始化列表:在类的构造函数中,冒号用于初始化成员变量,这称为初始化列表。

class MyClass {
public:
    // 构造函数的初始化列表
    MyClass(int a, int b) : memberA(a), memberB(b) {}
private:
    int memberA;
    int memberB;
};

用于基类构造函数调用:在派生类的构造函数中,冒号用于调用基类的构造函数。

class BaseClass {
public:
    BaseClass(int a) { /* constructor code */ }
};

class DerivedClass : public BaseClass {
public:
    DerivedClass(int a) : BaseClass(a) { /* constructor code */ }
};
  1. 点号(.):

  • 用于访问对象的成员变量和成员函数。

class MyClass {
public:
    int memberVariable;
    void memberFunction() { /* function code */ }
};

MyClass obj;
obj.memberVariable = 42;
obj.memberFunction();
  1. 双冒号(::):

  • 用于访问类的静态成员:双冒号用于访问类的静态成员变量和静态成员函数。

class MyClass {
public:
    static int staticMemberVariable;
    static void staticMemberFunction() { /* function code */ }
};

int value = MyClass::staticMemberVariable;
MyClass::staticMemberFunction();

命名空间限定符:双冒号用于访问命名空间中的成员。

namespace MyNamespace {
    int x;
    void func() { /* function code */ }
}

int value = MyNamespace::x;
MyNamespace::func();
  1. 箭头符号(->):

  • 用于访问指针所指向的对象的成员变量和成员函数。

class MyClass {
public:
    int memberVariable;
    void memberFunction() { /* function code */ }
};

MyClass obj;
MyClass* ptr = &obj;

ptr->memberVariable = 42;
ptr->memberFunction();

总结:

  • 冒号(:)用于初始化列表和基类构造函数调用。

  • 点号(.)用于访问对象的成员变量和成员函数。

  • 双冒号(::)用于访问类的静态成员和命名空间中的成员。

  • 箭头符号(->)用于访问指针所指向的对象的成员变量和成员函数。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击