[c++笔记]class,构造函数

1. class:即c++的类,与C语言的结构体相近,与结构体相比较,其成员不只有变量,还可以为函数,即类的成员函数,成员函数与普通函数区别在于其作用范围取决于类[1];通过类定义的内容叫做对象,详情见后续程序.

class类的程序:

#include <iostream>
using namespace std;





class Room {
	public:
		double length;
		double width;
		double height;

		double Area(){
			return length * width;
		}
		double Volume() {
			return length * width * height;
		}
};

int main() {
	Room room1;
	room1.length = 10.1;
	room1.width = 9.9;
	room1.height = 2.91;

	cout << "Ares of room1=" << room1.Area() << endl;
	cout << "Volume of room1=" << room1.Volume() << endl;

	return 0;
}

2.构造函数的程序:

#include <iostream>
using namespace std;




class Student {
public:
	double height;
	const char* name;

	Student();     //声明构造函数
	Student(double, const char*);
};

Student:: Student() {              //Student:: 用于指示此构造函数属于的类
		this-> height = 171.1;     //此函数没有参数,说明是一个默认构造函数,当创建一个新的Student对象时,会被自动调用
		this-> name = "xiaoxia";
		cout << "调用默认构造函数" << endl;
	}
	
Student::Student(double height, const char* name) {        //构造函数在类外面,必须在构造函数前面加上类名和作用域解析运算符(::)
		this-> height =height ;
		this-> name = name;
		cout << "调用传递参数的函数" << endl;
	}

int main() {

	Student student1;//使用类Student定义一个对象student1
	cout << student1.height << " " << student1.name << endl;

	Student student2(171.9, "xiaoxichen");
	cout << student2.height << " " << student2.name << endl;

	return 0;
}

构造函数:主要用于初始化对象,没有返回值,名字与类同名,当创建类的对象时,会自动调用构造函数进行初始化;

注:类里面必须有构造函数,如果没有手动添加构造函数,则编译器会生成一个无参构造函数,该构造函数为空,不对类数据成员进行初始化操作,当创建该类的对象时,系统会使用这个默认的构造函数进行对象的初始化.

2.1构造函数也可以写到类里面:

#include <iostream>
using namespace std;





class Student {
public:
	double height;
	const char* name;

Student() {              //Student:: 用于指示此构造函数属于的类
		this-> height = 171.1;     //此函数没有参数,说明是一个默认构造函数,当创建一个新的Student对象时,会被自动调用
		this-> name = "xiaoxia";
		cout << "调用默认构造函数" << endl;
	}

Student(double height, const char* name) {        //构造函数在类外面,必须在构造函数前面加上类名和作用域解析运算符(::)
		this-> height =height ;
		this-> name = name;
		cout << "调用传递参数的函数" << endl;
	}
};
 
int main() {

	Student student1;//
	cout << student1.height << " " << student1.name << endl;

	Student student2(171.9, "xiaoxichen");
	cout << student2.height << " " << student2.name << endl;

	return 0;
}

参考:

[1]C++类的成员变量和成员函数详解

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/339105.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

vue3中Fragment特性的一个bug,需要留意的注意事项

vue3中的Fragment 模版碎片特性是什么&#xff0c;简单的理解就是template模板代码不在像vue2中那样必须在根节点在包裹一层节点了。 vue2写法 <template><div><h1>标题</h1><p>正文内容</p></div> </template>vue3写法 &l…

【RT-DETR有效改进】Google | EfficientNetV2一种超轻量又高效的网络 (轻量化网络)

前言 大家好&#xff0c;我是Snu77&#xff0c;这里是RT-DETR有效涨点专栏。 本专栏的内容为根据ultralytics版本的RT-DETR进行改进&#xff0c;内容持续更新&#xff0c;每周更新文章数量3-10篇。 专栏以ResNet18、ResNet50为基础修改版本&#xff0c;同时修改内容也支持Re…

SpikingJelly笔记之IFLIF神经元

文章目录 前言一、脉冲神经元二、IF神经元1、神经元模型2、神经元仿真 三、LIF神经元1、神经元模型2、神经元仿真 总结 前言 记录整合发放(integrate-and-fire, IF)神经元与漏电整合发放(leaky integrate-and-fire, LIF)神经元模型&#xff0c;以及在SpikingJelly中的实现方法…

中期国际1.18黄金市场分析:零售销售强劲增长,美联储降息可能性大幅降低!

金价在周四下跌&#xff0c;其中一个主要原因是美国国债收益率的持续上升。此外&#xff0c;强劲的美国零售销售报告也对金价造成了影响&#xff0c;该报告显示零售销售额大幅上涨&#xff0c;超出预期值&#xff0c;这使得美联储3月份降息的可能性大幅降低。 12月份的消费者价…

Spring Boot 集成 API 文档 - Swagger、Knife4J、Smart-Doc

文章目录 1.OpenAPI 规范2.Swagger: 接口管理的利器3.Swagger 与 SpringFox&#xff1a;理念与实现4.Swagger 与 Knife4J&#xff1a;增强与创新5.案例&#xff1a;Spring Boot 整合 Swagger35.1 引入 Swagger3 依赖包5.2 优化路径匹配策略兼容 SpringFox5.3 配置 Swagger5.4 S…

国产操作系统:VirtualBox安装openKylin-1.0.1虚拟机并配置网络

国产操作系统&#xff1a;VirtualBox安装openKylin-1.0.1虚拟机并配置网络 openKylin 操作系统目前适配支持X86、ARM、RISC-V三个架构的个人电脑、平板电脑及教育开发板&#xff0c;可以满足绝大多数个人用户及开发者的使用需求。适用于在VirtualBox平台上安装openKylin-1.0.1…

不同开发语言在进程、线程和协程的设计差异

不同开发语言在进程、线程和协程的设计差异 1. 进程、线程和协程上的差异1.1 进程、线程、协程的定义1.2 进程、线程、协程的差异1.3 进程、线程、协程的内存成本1.4 进程、线程、协程的切换成本 2. 线程、协程之间的通信和协作方式2.1 python如何实现线程通信&#xff1f;2.2 …

智能小程序多语言适配指南

i18n 配置 启用多语言配置&#xff0c;需开启项目配置&#xff08;project.tuya.json&#xff09;中的 {"i18n": true} 选项。多语言的配置内容存放在小程序开发者平台 多语言管理。 本章节的多语言仅适用于智能小程序。如果您开发的是面板小程序&#xff0c;请查阅…

华南理工大学数字信号处理实验实验二源码(薛y老师)

一、实验目的 ▪ 综合运用数字信号处理的理论知识进行信号分析并利用MATLAB作为编程工具进行计算机实现&#xff0c;从而加 深对所学知识的理解&#xff0c;建立概念。 ▪ 掌握数字信号处理的基本概念、基本理论和基本方法。 ▪ 学会用MATLAB对信号进行分析和处理。 ▪ 用F…

QCustomPlot开源库使用

1.简介 QCustomPlot是用于绘图和数据可视化的Qt C 小部件。它没有进一步的依赖关系&#xff0c;并且有据可查。该绘图库专注于制作美观&#xff0c;出版质量的2D绘图&#xff0c;图形和图表&#xff0c;以及为实时可视化应用程序提供高性能。看一下“ 设置”和“ 基本绘图”教…

【系统调用IO】open、close、read、write、lseek

目录 3 系统调用IO3.1 文件描述符3.1.1 FILE结构体3.2.2 文件描述符 3.3 open、close、read、write、lseek3.3.1 文件权限3.3.2 open3.3.3 close3.3.4 read3.3.5 write3.3.6 lseek3.3.7 代码示例 文件io和标准io的区别 橙色 3 系统调用IO 3.1 文件描述符 3.1.1 FILE结构体 …

链表|数据结构|C语言深入学习

什么是链表 离散&#xff0c;就是“分离的、散开的” 链表是什么样子的&#xff1a; 有限个节点离散分配 彼此间通过指针相连 除了首尾节点&#xff0c;每个节点都只有一个前驱节点和一个后继节点 首节点没有前驱结点&#xff0c;尾节点没有后继节点 基本概念术语&#xf…

2023年12月青少年机器人技术等级考试(二级)理论综合试卷

2023年12月青少年机器人技术等级考试&#xff08;二级&#xff09;理论综合试卷 选择题 第 1 题 单选题 下图中&#xff0c;能够将圆周运动转化为往复摆动的是&#xff1f;&#xff08; &#xff09; A. B. C. D. 第 2 题 单选题 如图&#xff0c;该机械结构可实现的运动…

idea远程服务调试

1. 配置idea远程服务调试 这里以 idea 新 ui 为例&#xff0c;首先点击上面的 debug 旁边的三个小圆点&#xff0c;然后在弹出的框框中选择 “Edit”&#xff0c;如下图所示。 然后进入到打开的界面后&#xff0c;点击左上角的 “” 进行添加&#xff0c;找到 “Remote JVM De…

HTML 入门手册(二)

目录 10-表单 11-input标签 11.1文本框 (text) 11.2密码框 (password) 11.3单选按钮 (radio) 11.4复选框 (checkbox) 11.5普通按钮 11.6提交按钮 (submit) 11.7重置按钮 (reset) 11.8隐藏域 (hidden) 11.9文件上传 (file) 11.10数字输入 (number) 11.11日期输入 (…

有效网络安全意识的正确策略

员工在保护组织资产方面发挥着重要作用。随着威胁形势的不断变化&#xff0c;网络安全意识培训是创建良好安全文化的重要组成部分。 为什么要进行网络安全意识培训&#xff1f; 2022 年&#xff0c; 81% 的组织遭受恶意软件、网络钓鱼和密码攻击&#xff0c;主要针对用户。 …

SpringBoot 异常报告器解析

介绍 SpringBootExceptionReporter用于捕获和处理启动期间的异常&#xff0c;例如应用程序上下文的初始化失败。我们业务中的异常处理一般使用拦截器进行拦截处理业务异常。 异常报告流程解析 框架内实现 reportException实现 FailureAnalyzer介绍 analyze逻辑 FailureAnalys…

数据结构·顺序表应用

本节应用是要用顺序表实现一个通讯录&#xff0c;收录联系人的姓名、性别、电话号码、住址、年龄 ​​​​​​​ 顺序表的实现在上一节中已经完成了&#xff0c;本节的任务其实就是应用上节写出来的代码的那些接口函数功能&#xff0c;做出来一个好看的&#xff0c;可…

1.电子基础

https://www.falstad.com/circuit/circuitjs.html vcc&#xff1a;正极 三角形&#xff1a;负极 理想电路原件 电压源、电流源 电压源&#xff1a;正负号表示电压方向 电流源&#xff1a;箭头表示电流方向

2024PMP考试新考纲-【过程领域】近期典型真题和很详细解析(9)

华研荟继续为您分享【过程Process领域】的新考纲下的真题&#xff0c;帮助大家体会和理解新考纲下PMP的考试特点和如何应用所学的知识和常识&#xff08;经验&#xff09;来解题&#xff0c;并且举一反三&#xff0c;一次性3A通过2024年PMP考试。 2024年PMP考试新考纲-【过程领…