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

c++类和对象:形参列表、explicit、static成员

作者:野牛程序员:2024-01-03 14:13:05 C++阅读 2430

类和对象是C++中面向对象编程的重要概念。以下是关于类和对象的一些重要方面:

  1. 形参列表:在类的成员函数中,可以定义形参列表,这是在函数声明和定义中指定函数接受的参数的地方。形参列表包含在函数的括号中,并用逗号分隔不同的参数。例如:

class MyClass {
public:
    void myFunction(int param1, double param2) {
        // 函数体
    }
};

在上面的例子中,myFunction 函数有两个形参,一个是整数类型的 param1,另一个是双精度浮点数类型的 param2

  1. explicit 关键字:在C++中,explicit 关键字用于修饰只有一个参数的构造函数,防止该构造函数被隐式调用。这可以避免一些意外的类型转换。例如:

class ExplicitClass {
public:
    explicit ExplicitClass(int value) {
        // 构造函数体
    }
};

void myFunction(ExplicitClass obj) {
    // 函数体
}

int main() {
    ExplicitClass obj1(42);
    myFunction(obj1);  // 合法

    // myFunction(42);  // 错误,因为构造函数被声明为 explicit,禁止隐式转换
    return 0;
}

在上述例子中,ExplicitClass 的构造函数被声明为 explicit,因此不能在不经过显式转换的情况下隐式调用。

  1. static 成员:C++中的静态成员是类的成员,而不是对象的成员。静态成员与类的特定实例无关,它们属于整个类。可以使用 static 关键字声明静态成员。例如:

class MyClass {
public:
    static int staticVariable;
    static void staticFunction() {
        // 静态成员函数体
    }
};

int MyClass::staticVariable = 0;

int main() {
    MyClass::staticVariable = 42;
    MyClass::staticFunction();
    return 0;
}

在上述例子中,staticVariableMyClass 类的静态成员变量,而 staticFunction 是静态成员函数。可以通过类名直接访问静态成员。


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

最新推荐

热门点击