21xrx.com
2024-11-22 08:06:34 Friday
登录
文章检索 我的文章 写文章
C++中的结构体能否有构造函数?
2023-07-06 22:24:53 深夜i     --     --
C++ 结构体 构造函数

C++中的结构体和类很相似,都可以拥有成员变量和成员函数。其中一个重要的差别就是结构体默认的访问权限是public而类是private。不过,一个常见的问题是,C++的结构体能否有构造函数?

答案是肯定的。结构体和类一样可以拥有构造函数。在实际应用中,结构体拥有了构造函数后,可以方便我们对结构体进行初始化操作。当然,与类不同的是,结构体的构造函数中并不能使用访问限定符(public、private、protected等)。

下面是结构体的构造函数的示例代码:


struct MyStruct {

  int num;

  std::string str;

  

  MyStruct(int n, const std::string& s)

    num = n;

    str = s;

    std::cout << "MyStruct构造函数被调用!" << std::endl;

  

};

在上面的代码中,我们定义了一个名为MyStruct的结构体,并在其中加入了一个构造函数。该构造函数接收两个参数,一个是整型num,一个是字符串str。在函数中,我们将这两个参数分别赋值给结构体中的成员变量,并输出构造函数被调用的信息。

使用结构体的构造函数可以方便地初始化结构体变量,示例如下:


int main() {

  MyStruct myStruct(100, "hello world");

  return 0;

}

在上面的示例代码中,我们定义了一个名为myStruct的MyStruct类型变量,并调用其构造函数,将100和"hello world"分别赋值给num和str成员变量。

总结起来,C++中的结构体和类一样可以拥有构造函数。在实际应用中,结构体的构造函数可以方便我们对结构体进行初始化操作。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复