c++ 命名空间使用规则

之前一直没搞懂为什么c++ 用了using namespace std;就能直接调用内部的类,直接调用内部函数

今天试着实现了一下:

#include <iostream>// 命名空间
namespace mp{    class point{public: // 构造函数point(int x = 0, int y = 0) : x(x), y(y) {}// 赋值函数void set(int x, int y){this->x = x;this->y = y;}void print(){printf("point: (%d, %d)\n", x, y);}// 析构函数~point() {printf("周期结束自动调用析构函数释放资源\n");}private:    // 私有int x;int y;};void mmp(){printf("直接调用函数\n");}}using namespace std;
using namespace mp;int main(){mmp();point p(3, 2);p.print();p.set(5, 1);p.print();
}

在命名空间namespace内部声明函数和类后就直接调用using namespace就可以直接调用内部的类和函数了,就不用加::

#include <iostream>// 命名空间
class mp{    
public: // 将类成员设置为public,以便在类外部访问class point{public: // 构造函数point(int x = 0, int y = 0) : x(x), y(y) {}// 赋值函数void set(int x, int y){this->x = x;this->y = y;}void print(){std::cout << "point: (" << x << ", " << y << ")" << std::endl;}// 析构函数~point() {std::cout << "周期结束自动调用析构函数释放资源" << std::endl;}private:    // 私有int x;int y;};void mmp(){std::cout << "直接调用函数" << std::endl;}
};using namespace std;
mp::point p; // 使用作用域解析运算符创建point对象int main(){p.print();p.set(5, 1);p.print();return 0;
}

这种就需要写::很不方便

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

flask后端开发(2):URL与视图

目录 URL定义request获取请求参数 gitcode地址&#xff1a; https://gitcode.com/qq_43920838/flask_project.git URL定义 from flask import FlaskappFlask(__name__)app.route(/) def hello_world():return Hello World!app.route(/profile) def profile():return 我是个人…

springboot配置oracle+达梦数据库多数据源配置并动态切换

项目场景&#xff1a; 在工作中很多情况需要跨数据库进行数据操作,自己总结的经验希望对各位有所帮助 问题描述 总结了几个问题 1.识别不到mapper 2.识别不到xml 3.找不到数据源 原因分析&#xff1a; 1.配置文件编写导致识别mapper 2.配置类编写建的格式有问题 3.命名…

docker redis安装

一.镜像拉取 docker pull redis:5.0新建文件 touch /home/redis/redis.conf touch /home/redis/redis_6379.pid # bind 192.168.1.100 10.0.0.1 # bind 127.0.0.1 ::1 #bind 127.0.0.1protected-mode noport 6379tcp-backlog 511requirepass roottimeout 0tcp-keepali…

LabVIEW应用在工业车间

LabVIEW作为一种图形化编程语言&#xff0c;以其强大的数据采集和硬件集成功能广泛应用于工业自动化领域。在工业车间中&#xff0c;LabVIEW不仅能够实现快速开发&#xff0c;还能通过灵活的硬件接口和直观的用户界面提升生产效率和设备管理水平。尽管其高成本和初期学习门槛可…

jenkins集成工具(一)部署php项目

目录 什么是CI 、CD Jenkins集成工具 一、Jenkins介绍 二、jenkins的安装和部署 环境部署 安装jenkins 安装gitlab 配置镜像源进行安装 修改密码 安装git工具 上传测试代码 Jenkins部署php项目wordpress 发布php代码 安装插件 测试代码发布 实现发布成功发送邮件…

【Unity3D】ECS入门学习(六)状态组件 ISystemStateComponentData

当需要获知组件是否被销毁时&#xff0c;ECS是没有回调告知的&#xff0c;因此可以将组件继承于ISystemStateComponentData接口&#xff0c;这样即使组件的实体被销毁了&#xff0c;该组件本身是不会消失的&#xff0c;所以可以通过在组件实体销毁后&#xff0c;去设置状态组件…

双柱渐变图背景图

option {backgroundColor: #1b2735,tooltip: {//提示框组件trigger: axis,//触发类型 柱状图axisPointer:{type:shadow} //触发效果 移动上去 背景效果}, xAxis: [//x轴{type: category,//坐标轴类型 离散data: [1月, 2月, 3月, 4月, 5月, 6月, 7月, 8月],//数据axisTick:f…

两种不同的LuaBehaviour生命周期绑定

在学习xLua时&#xff0c;发现xLua和LoxodonFramework的LuaBehaviour稍微有些不同&#xff0c;其中一个点是在调用DoString方法时的区别 1. xLua的版本中 直接使用Lua脚本环境进行绑定&#xff0c;这时候的Lua脚本调用生命周期函数是这样的 直接在Lua脚本中写函数就行 2. Lo…

XDP (eXpress Data Path):在操作系统内核中实现快速、可编程包处理

大家觉得有意义和帮助记得及时关注和点赞!!! 1 引言 1.1 现有方案&#xff08;kernel bypass&#xff09;存在的问题1.2 新方案&#xff1a;给内核网络栈添加可编程能力1.3 新方案&#xff08;XDP&#xff09;的优点1.4 本文组织结构2 相关工作 2.1 用户态轮询 vs. XDP2.2 内核…

XGPT用户帮助手册

文章目录 20242024.12.27 摘要 本文介绍如何使用XGPT软件, XGPT融合了当前最先进的人工智能技术&#xff0c;并专为国内用户优化。 2024 2024.12.27 XGPT v1正式发布, 特色功能: 具备图像文本多模态处理功能包含GPT等最先进模型国内可访问 B站视频介绍 图1 XGPT v1 快照

USB 状态机及状态转换

文章目录 USB 状态机及状态转换连接状态供电状态默认状态地址状态配置状态挂起状态USB 状态机及状态转换 枚举完成之前,USB 设备要经过一系列的状态变化,才能最终完成枚举。这些状态是 连接状态 - attached供电状态 - powered默认状态 - default地址状态 - address配置状态 -…

Simulink的Goto和From标签如何限定作用域

网上有很多关于Goto和From的标签文章&#xff0c;但是很少有人将Goto和From标签如何使用限定作用域的问题 Simulink 中 Goto 和 From 标签作用域设置及使用 在 Simulink 中&#xff0c;Goto 和 From 标签用于传递信号以简化模型的连线结构。通过限定它们的作用域&#xff0c;…

No.29 笔记 | CTF 学习干货

大家好呀&#xff01;我刚参加了美国线上CTF比赛&#xff0c;收获超多&#xff0c;特别感谢老师教我的干货知识。今天就和大家分享我的学习笔记。CTF像刺激冒险&#xff0c;有挑战有惊喜。 学习中我懂了很多知识技能&#xff0c;像密码学、Web安全、Misc题型等&#xff0c;它们…

Etcd注册中心基本实现

Etcd入门 什么是Etcd GitHub&#xff1a;https://github.com/etcd-io/etcd Etcd数据结构与特性 键值对格式&#xff0c;类似文件层次结构。 Etcd如何保证数据一致性&#xff1f; 表面来看&#xff0c;Etcd支持事务操作&#xff0c;能够保证数据一致性。 底层来看&#xff0…

【游戏设计原理】31 - 头脑风暴的方法

在游戏设计中&#xff0c;头脑风暴的方法可以贯穿整个创作流程&#xff0c;帮助设计师从最初的概念生成到具体机制的打磨。以下是如何在不同阶段应用头脑风暴方法的详细步骤&#xff1a; 1. 自由思考法的应用 阶段&#xff1a;创意萌发与初期概念设计 目标&#xff1a;找到游…

Unable to create schema compiler

问题 Unable to create schema compiler 原因分析 可能一 服务上只安装了jre&#xff0c;缺少需要的jar包 可能二 jdk的版本是9以上&#xff0c;默认不带这些jar包 解决办法 方案一&#xff08;亲测可用&#xff09; 上面的报错是在使用CXF框架生成动态客户端client时…

D类音频应用EMI管理

1、前言 对于EMI&#xff0c;首先需要理解天线。频率和波长之间的关系&#xff0c;如下图所示。   作为有效天线所需的最短长度是λ/4。在空气中&#xff0c;介电常数是1&#xff0c;但是在FR4或玻璃环氧PCB的情况下&#xff0c;介电常数大约4.8。这种效应会导致信号在FR4材…

CSES-1687 Company Queries I(倍增法)

题目传送门https://vjudge.net/problem/CSES-1687#authorGPT_zh 解题思路 其实和倍增法求 LCA 是一样的…… 首先设 表示 号点的上面的第 个祖先是谁。 同倍增法&#xff1a; 然后&#xff0c;题目要求我们向上跳 个点。 枚举 &#xff08;从大到小&#xff0c;想想为…

【从零开始入门unity游戏开发之——unity篇01】unity6基础入门开篇——游戏引擎是什么、主流的游戏引擎、为什么选择Unity

文章目录 前言**游戏引擎是什么&#xff1f;****游戏引擎对于我们的意义**1、**降低游戏开发的门槛**2、**提升游戏开发效率** **以前做游戏****现在做游戏****主流的游戏引擎有哪些&#xff1f;**Unity 相比其他游戏引擎的优势&#xff1f;**为什么选择Unity&#xff1f;**Uni…

Apifox 12月更新|接口的测试覆盖情况、测试场景支持修改记录、迭代分支能力升级、自定义项目角色权限、接口可评论

Apifox 新版本上线啦&#xff01;&#xff01;&#xff01; 在快速迭代的开发流程中&#xff0c;接口测试工具的强大功能往往决定了项目的效率和质量。而 Apifox 在 12 月的更新中&#xff0c;再次引领潮流&#xff0c;推出了一系列重磅功能&#xff01;测试覆盖情况分析、场景…