【C++】C++类和对象—(中)

前言:在上一篇类和对象(上)的文章中我们已经带领大家认识了类的概念,定义以及对类和对象的一些基本操作,接下来我们要逐步进入到类和对象(中)的学习。我们将逐步的介绍类和对象的核心——类和对象的六个默认成员函数。(注意:这六个默认成员函数是类和对象的核心,学好了它我们才能更好的去理解类和对象!)

一,什么是成员函数?

要学习类和对象中的六个成员函数,那我们就要先了解什么是成员函数?
  • 成员函数就是在类里面定义的函数,一般定义在类里面的都称为成员如果是变量就称为成员变量,如果是函数就称为成员函数。

代码语言:javascript

AI代码解释

#include<iostream> using namespace std; class A { public: //成员函数 void func() { cout<<"void func()"<<endl; } private: //成员变量 int _a; }

二,默认成员函数的种类

C++的默认成员函数就是说我们没有显式的写该函数编译器会自动生成该函数就称为默认成员函数。C++有六个默认的成员函数也就是说这六个成员函数如果我们自己不写编译器就会自动生成。至于为什么要搞这些默认成员函数待学完这些默认成员函数你自然就会明白!

六个默认成员函数如下:

在这里插入图片描述

在这里插入图片描述

六个默认成员函数有三种,分别是执行初始化,拷贝,以及重载功能的函数。
  1. 执行初始化:构造函数,析构函数
  2. 执行拷贝:拷贝构造,赋值重载
  3. 取地址重载:两个重载函数 注意:这六个成员函数中比较重要的是前4个,后两个可以作为了解!

下面我们依次介绍这几个函数。

三,六个成员函数

3.1构造函数
构造函数的概念:构造函数是一种特殊的成员函数,用于在创建对象时初始化对象的状态。通常与类名相同,无返回类型,支持重载。
3.2构造函数的种类和使用
在上面的构造函数中我们看到了几种构造函数的类型分别是:

  1. 默认构造函数:无参数,如果我们没有显式的写出来,编译器就会自动生成并进行默认初始化。
  2. 带参的构造函数:带参的构造函数又分为有缺省值和没有缺省值。注意全缺省的构造函数不能与无参的构造函数同时存在!因为这两个函数在调用时会引发冲突!
  3. 拷贝构造函数,参数是类名这个我们后面介绍。

代码语言:javascript

AI代码解释

class Date { public: //默认构造函数与类名相同,无返回值,支持重载 //不带参数 Date() { _year = 1; _month = 1; _day = 1; } //Date(int year=1, int month=1, int day=1) 全缺省的构造函数 //一般的构造函数 Date(int year, int month, int day) { _year = year; _month = month; _day = day; } void Print() { cout << this->_year << "/" << this->_month << "/" << _day << endl; } private: int _year; int _month; int _day; };

在这里插入图片描述

在这里插入图片描述

什么都不写自动调用编译生成的默认构造,对成员变量进行默认初始化(值是随机值).

通过上面的代码我们能了解到构造函数的主要特点:

自动调用:不显式写构造函数的情况下,对象创建时由编译器隐式调用,无需手动触发。 无返回值:即使语法上不写 void,也不实际返回任何值。 支持重载:一个类可以定义多个参数列表不同的构造函数。

注意:对于自定义类型成员变量,要求调用这个成员变量的默认构造函数初始化。如果这个成员变量,没有默认构造函数,那么就会报错!这就要使用初始化列表了,初始化列表后面介绍。

Read more

Qwen3+Qwen Agent 智能体开发实战,打开大模型MCP工具新方式!(一)

Qwen3+Qwen Agent 智能体开发实战,打开大模型MCP工具新方式!(一)

系列文章目录 一、Qwen3+Qwen Agent 智能体开发实战,打开大模型MCP工具新方式!(一) 二、Qwen3+Qwen Agent +MCP智能体开发实战(二)—10分钟打造"MiniManus" 前言 要说最近人工智能界最火热的开源大模型,必定是阿里发布不久的Qwen3系列模型。Qwen3模型凭借赶超DeepSeek-V3/R1的优异性能,创新的混合推理模式,以及极强的MCP能力迅速成为AI Agent开发的主流基座模型。大家可参考我的文章一文解析Qwen3大模型详细了解Qwen3模型的核心能力。有读者私信我: “Qwen3官网特地强调增强了Agent和代码能力,同时加强了对MCP的支持,那么我该如何利用Qwen3快速开发MCP应用呢?” 这就就需要使用我们今天的主角——Qwen官方推荐的开发工具Qwen-Agent ,本期分享我们就一起学习快速使用Qwen3+QwenAgent 接入MCP服务端,快速开发AI Agent应用! 一、注册 Qwen3 API-Key 本次分享通过阿里云百炼大模型服务平台API Key请求方式调用Qwen3大模型,获取服务平台

By Ne0inhk
Python实现 MCP 客户端调用(高德地图 MCP 服务)查询天气示例

Python实现 MCP 客户端调用(高德地图 MCP 服务)查询天气示例

文章目录 * MCP 官网 * MCP 官方文档中文版 * 官方 MCP 服务示例 * Github * MCP 市场 * 简介 * 架构 * 高德地图 MCP 客户端示例 * python-sdk 客户端 * java-sdk 客户端 MCP 官网 * https://modelcontextprotocol.io/introduction MCP 官方文档中文版 * https://app.apifox.com/project/5991953 官方 MCP 服务示例 * https://github.com/modelcontextprotocol/servers Github * python-sdk:https://github.com/modelcontextprotocol/python-sdk * java-sdk:

By Ne0inhk
43-dify案例分享-MCP-Server让工作流秒变第三方可调用服务

43-dify案例分享-MCP-Server让工作流秒变第三方可调用服务

1.前言 之前我们为大家介绍过MCP SSE插件,它能够支持MCP-server在Dify平台上的调用,从而帮助Dify与第三方平台提供的MCP-server进行无缝对接。有些小伙伴提出了疑问:既然Dify可以通过MCP SSE插件调用其他平台的MCP-server,那么Dify的工作流或Chatflow是否也能发布为MCP-server,供其他支持MCP client的工具使用呢?今天,我们将为大家介绍一款Dify插件——mcp-server,它能够实现这一功能,即将Dify的工作流或Chatflow发布为MCP-server,供其他第三方工具调用。 插件名字叫做MCP-server,我们在dify插件市场可以找到这个工具 Mcp-server 是一个由 Dify 社区贡献的 Extension 类型插件。安装后,你可以把任何 Dify 应用转变成符合 MCP 标准的 Server Endpoint,供外部 MCP 客户端直接访问。它的主要功能包括: * **暴露为 MCP 工具:**将 Dify 应用抽象为单一 MCP 工具,供外部 MCP 客户端(如

By Ne0inhk