C++中结构体的构造函数

2023年8月5日,周六上午


在C++中,结构体和类是非常相似的,它们都可以具有构造函数。

事实上,在C++中,结构体和类之间的唯一区别就是默认的访问权限不同。

结构体可以有默认构造函数、带参数的构造函数、拷贝构造函数等,就像类一样。

构造函数用于初始化结构体的成员变量,在创建结构体对象时被调用。

cpp 复制代码
#include<iostream>

struct MyStruct {
    int value;

    MyStruct() {
        value = 0;
    }

    MyStruct(int v) {
        value = v;
    }

public:
    void showValue(){
		std::cout<<"Value:"<<value<<std::endl;
	}

};

int main(){
	MyStruct obj1;         // 使用默认构造函数创建对象,value被初始化为0
	obj1.showValue();
	MyStruct obj2(10);     // 使用带参数的构造函数创建对象,value被初始化为10
	obj2.showValue();
}
相关推荐
ShineWinsu1 小时前
对于Linux:五种IO模型以及非阻塞IO的详细解析
linux·c++·面试·io·阻塞·非阻塞·fcntl
bu_shuo1 小时前
MATLAB中的meshgrid和ndgrid
开发语言·matlab
我命由我123452 小时前
Jetpack Compose - MaterialExpressiveTheme 与 MaterialTheme、ColorScheme
android·java·开发语言·java-ee·kotlin·android jetpack·android runtime
呜喵王阿尔萨斯2 小时前
extern “C“ in C++
c语言·c++·算法
深海呐2 小时前
仓颉语言是ArkTs的上层语言吗?就像kotlin和Java
java·开发语言·kotlin·仓颉
乐观勇敢坚强的老彭2 小时前
C++信奥静态数组和动态数组
数据结构·c++·算法
白露与泡影2 小时前
聊聊物联网Java后端的核心技术难点(水表/电表/充电桩实战)
java·开发语言·物联网
gumichef2 小时前
第一章:面向对象核心——类和对象深度讲解
开发语言·c++
冷咖啡离 我的笨笨2 小时前
数据去重:通过 C# 删除 Excel 中的重复行
开发语言·c#·excel
ao-weilai2 小时前
C++基础:类和对象
开发语言·c++