建筑设计作品展示网站wordpress免费相册

news/2025/10/7 11:36:32/文章来源:
建筑设计作品展示网站,wordpress免费相册,合肥网页设计方法,wordpress怎么装修网页在本篇博客中#xff0c;作者将会讲解类与对象的最后一篇。 一.再谈构造函数 在类与对象#xff08;上篇#xff09;中#xff0c;我们讲到了构造函数#xff0c;其实构造函数就是给每个成员变量进行赋值#xff01;#xff01;#xff01; 仅仅只是赋值而已#xf… 在本篇博客中作者将会讲解类与对象的最后一篇。 一.再谈构造函数 在类与对象上篇中我们讲到了构造函数其实构造函数就是给每个成员变量进行赋值 仅仅只是赋值而已并不算严格意义上的初始化。 #includeiostream using namespace std;class Date { public://实例化对象时同时给成员变量赋值Date(int year 0, int month 1, int day 1){_year year;_month month;_day day;}void Show(){cout _year - _month - _day endl;} private:int _year;int _month;int _day; };int main() {Date d1;d1.Show();return 0; } 初始化列表  既然普通构造函数并不是初始化那么什么才是初始化呢答案是初始化列表。 #includeiostream using namespace std;class Date { public://初始化列表用法Date(int year 0, int month 1, int day 1):_year(year),_month(month),_day(day){}void Show(){cout _year - _month - _day endl;} private:int _year;int _month;int _day; };int main() {Date d1;d1.Show();return 0; } 为什么要有初始化列表呢因为有些成员变量不能通过普通构造函数来赋值如引用变量、const常量、自定义类型且该类没有默认构造函数。  #includeiostream using namespace std;class Date { public://无默认构造函数默认构造函数是指不需要传参的的构造函数Date(int year,int month,int day):_year(year),_month(month),_day(day){}void Show(){cout _year - _month - _day endl;} private:int _year;int _month;int _day; };class Temp { public:Temp(int ptmp):_a(ptmp),_b(10),_d(0,0,0){}void Show(){cout _a _b endl;} private://必须要用初始化列表的三个成员变量int _a;const int _b;Date _d;//自定义类型且无默认构造函数 };int main() {int tmp 0;Temp t1(tmp);return 0; } 最后初始化列表的初始化顺序与构造函数的初始化列表无关与成员变量的定义先后有关  二.static成员 static成员变量 被static修饰的成员变量称为静态成员变量静态成员变量不属于某个实例化对象它是所有类对象共享的。且静态成员变量不能在类中初始化必须在类外初始化。 #includeiostream using namespace std;class Date { private:int _year;static int count; };int Date::count 0;int main() {return 0; } static成员函数 被static修饰的成员函数没有this指针。在前面讲到类的成员函数都会带上一个默认的this指针而被static修饰的成员函数没有this指针。  三.友元  友元函数 什么是友元函数 我们知道在C类中成员变量都会有一个访问修饰符其中private和protect是私有和保护的被这两个修饰的成员变量不能被类外部访问只能被类内部访问那么如果我们想在外部用函数来对类内部的成员变量进行访问就可以用友元函数。 #includeiostream using namespace std;class Date {//声明Show是友元函数friend void Show(const Date d); public:Date(int year0,int month1,int day1):_year(year),_month(month),_day(day){} private:int _year;int _month;int _day; };void Show(const Date d)//可以在类外部访问类内部的成员变量 {cout d._year - d._month - d._day endl; }int main() {Date d1(2024, 3, 24);Show(d1);return 0; } 看到这里可能会有人疑惑我直接在类内部定义一个Show函数就好了吗为什么还要搞一个友元函数因为有一些地方必须要用到友元函数。  友元函数重载 在C中如果我们想输出某个内置类型变量直接cout 变量名即可那如果我们想输出自定义类型则需要额外写一个Show函数而且每次都要调用该类的函数那么有没有办法可以使用 cout类实例化对象 这样的方式来实现输出了答案是可以的。 在类与对象中篇中我们讲到了操作符重载即我们可以重载这个操作符来实现。 常规做法实现 #includeiostream using namespace std;class Date { public:Date(int year0,int month1,int day1):_year(year),_month(month),_day(day){}ostream operator(ostream out)//重载操作符{cout _year - _month - _day endl;return out;} private:int _year;int _month;int _day; };int main() {Date d1(2024, 3, 24);Date d2(2024, 3, 25);d2 (d1 cout);return 0; } 我们可以发现如果在类中定义重载操作符会发现它的使用方式和常规使用方式不同它是反过来的因为在operator函数中会默认有个this指针占了第一个参数的位置同时d1cout 等价于 d1.operator(d1,cout)导致使用方法与原本相反这时我们就需要使用友元函数来解决。  友元函数实现  通过使用友元函数的实现可以达到我们想要的效果。   友元类 友元类就是A类是B类的朋友所以A类可以突破访问权限限制可以去访问B类的非公有成员变量。 #includeiostream using namespace std;class Time {friend class Date;//声明Date类是它的朋友 public:Time(int hour0,int min0,int second0):_hour(hour),_min(min),_second(second){} private:int _hour;int _min;int _second; };class Date { public:Date(int year,int month,int day):_year(year),_month(month),_day(day){}void SetTime(int hour, int min, int second)//这个函数可以突破访问权限去访问Time的成员变量{_t._hour hour;_t._min min;_t._second second;} private:int _year;int _month;int _day;Time _t; };int main() {Date d1(2024, 3, 24);d1.SetTime(0, 0, 0);return 0; } 但是这种关系是单向的Date可以去访问Time而Time不能去访问Date。同时友元关系不能传递也不能继承。  四.匿名对象 匿名对象就是使用类来实例化一个匿名的对象这个匿名的对象可以直接调用类种的成员函数但是它的生命周期只有在定义它的那一行。 #includeiostream using namespace std;class Solution { public:int GetSum(int n){return n;} };int main() {Solution().GetSum(10);//实例化一个匿名类去知道调用它的成员函数return 0; }

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

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

相关文章

苍南县网站集约化建设西安网站优化排名案例

原文 http://www.eoeandroid.com/thread-274556-1-1.html 【初识Github】 首先让我们大家一起喊一句“Hello Github”。YEAH!就是这样。Git是一个分布式的版本控制系统,最初由Linus Torvalds编写,用作Linux内核代码的管理。在推出后,Git在其…

详细介绍:go语言学习 第4章:流程控制

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

学号20232328 2025-2026-1 《网络与系统攻防技术》实验一实验报告

1.实验内容 1.1NOP, JNE, JE, JMP, CMP汇编指令的机器码: 1.1.1NOP(No Operation) 功能:NOP指令是一条空操作指令,它不做任何事情。执行NOP指令时,处理器的状态(如寄存器值、内存内容等)不会发生变化,只是简单…

《一元微积分》讲义习题

习题 \(1.1\): 第 \(1\) 题: \(1.1.7\):\(\N\) 上的加法是对乘法满足分配律:即对任意 \(m,n,k\in\N\),\((m+n)\cdot k=m\cdot k+n\cdot k\)。 证明:对 \(k\) 做数学归纳。 令 \(A=\{k\in\N|\forall m,n\in \N,(m…

【光照】Unity[光照探针]的作用与工作原理

光照探针是Unity中解决动态物体间接光照的核心技术,通过预计算存储空间光照信息,使动态物体获得与静态环境一致的照明效果。UnityURP中的光照探针技术经历了从手动放置到自适应探针体积(APV)的演进,APV能自动根据场…

[数学 - 线性回归]

简单说就是方程曲线 您提到的回归方程(Regression Equation)是统计学中一个极其强大和基础的工具,特别是在金融和量化分析中,它几乎无处不在。 它的本质是为了解决一个核心问题:如何量化不同事物之间的关系?1. 回…

251007

目录JT-JY7T3S1-1JT-JY7T3S1-2FT-(TED&VOAs) JT-JY7T3S1-1Oh, good morning, Is this a room number 26? Yes, thats right. So is this the students job center? it certainly is, how can i help you? Well,…

Java 并发锁

1 为什么要加锁 所先JVM将内存划分成2个区域主内存:所有线程共享的内存区域,存储所有的共享变量 工作内存:每个线程独有的内存区域,存储该线程使用到的共享变量的副本线程对变量的操作(读取、赋值)必须在工作内存完…

做插画的网站网上购物哪个商城好

[导读]Kaggle 的房价预测竞赛从 2016 年 8 月开始,到 2017 年 2 月结束。这段时间内,超过 2000 多人参与比赛,选手采用高级回归技术,基于我们给出的 79 个特征,对房屋的售价进行了准确的预测。今…

实用指南:点评中是如何实现短信登录的

实用指南:点评中是如何实现短信登录的pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Mon…

[数学 - 方差 标准差 ]

假设和平均距离 比如两个人的射击成绩,我们要挑选一个“更加稳定”的选手:平均值相同时:假设样本数据是 \(x_1, x_2, \dots, x_n\) \(\bar{x}\) 表示这组数据的平均数。 所以,样本数据到 \(\bar{x}\) 的“平均距离…

黄南州wap网站建设公司代理ip大全

数据库请求接口封装 uniapp中提供了plus.sqlite接口,在这里我们对常用的数据库请求操作进行了二次封装 这里的dbName、dbPath、recordsTable 可以根据你的需求自己命名 module.exports {/** * type {String} 数据库名称*/dbName: salary,/*** 数据库地址* type {…

鄢陵县北京网站建设长沙网站制作工作室

需求&#xff1a;页面跳转到目标页面之后&#xff0c;对应的顶部路由高亮 上面的更多 跳转到 学情分析下面的学生分析 <template><div class"topBar" ref"topBar" v-loading.fullscreen.lock"fullscreenLoading"><div class&quo…

二分法算法技巧-思维提升 - 教程

二分法算法技巧-思维提升 - 教程2025-10-07 11:08 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !import…

开源量子模拟引擎:Quantum ESPRESSO本地部署教程,第一性原理计算轻松入门! - 实践

开源量子模拟引擎:Quantum ESPRESSO本地部署教程,第一性原理计算轻松入门! - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; f…

基于Python+Vue开发的大学竞赛报名管理系统源码+运行步骤

项目简介该项目是基于Python+Vue开发的大学竞赛报名管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Python编程技能,同时锻炼他们的项目设计与开发能力。通过学习…

详细介绍:QT常用控件(1)

详细介绍:QT常用控件(1)pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", …

网站制作素材绿色商城网站模板

多参数方法的问题相信很多人曾经都写过多参数的构造方法&#xff0c;就像下面示例的代码。当想要创建一个给全部属性赋值的实例的时候&#xff0c;就会利用这个多参数的构造方法。但是&#xff0c;当类的属性特别多的时候&#xff0c;你还会这么写吗&#xff1f;如果你写了一个…

Generate First, Then Sample: Enhancing Fake News Detection with LLM-Augmented Reinforced Sampling

论文阅读1. 任务 如何提高假新闻检测的效果,特别是针对假新闻本身的检测能力 2. 研究背景与问题提出:假新闻指包含虚假信息的新闻,其在社交媒体上的传播对公共卫生、政治等关键社会议题构成严重威胁。现有假新闻检测…

开发电商网站多少钱刷赞网站推广软件

文末下载上传环境源码客户端js检查一般都是在网页上写一段javascript脚本&#xff0c;校验上传文件的后缀名&#xff0c;有白名单形式也有黑名单形式。查看源代码可以看到有如下代码对上传文件类型进行了限制&#xff1a;我们可以看到对上传文件类型进行了限制。绕过方法1.我们…