.net网站开发全过程网站域名做301

news/2025/9/27 22:21:56/文章来源:
.net网站开发全过程,网站域名做301,介绍好的免费网站模板下载,东莞网站关键字目录 初始化列表 static成员 C11对于非静态成员变量初始化 友元 友元函数 友元类 总结 初始化列表 我们知道#xff0c;在学习构造函数时#xff0c;我们知道对象的成员变量的初始化我们是在构造函数函数体内进行初始化的#xff0c;还有没有其它初始化成员变量的方…目录 初始化列表 static成员 C11对于非静态成员变量初始化 友元 友元函数 友元类 总结  初始化列表 我们知道在学习构造函数时我们知道对象的成员变量的初始化我们是在构造函数函数体内进行初始化的还有没有其它初始化成员变量的方法呢 初始化列表就是我们要学习的第二个初始化的方法。 在学习初始化列表之前我们先对以往的在构造函数内部对成员变量进行初始化的操作进行分析我们直接给出结论我们称在类内部的成员变量只是对成员变量进行了声明而没有进行定义如图所示 我们在日期类内部声明了三个成员变量_year,_month,_day,切记这里只是对三个成员变量进行了声明成员变量的定义分为两种情况 1.如果我们在构造函数体内进行成员变量的初始化操作那么在进行初始化时成员变量已经完成了定义函数体内只是在进行进行变量的赋值而已。因此就这一现象我们不难产生疑问如果在函数体内对成员变量进行赋值时此时变量已经完成了定义此时的赋值操作就相当于是在成员变量定义之后才对成员变量进行了初始化操作那么对于const成员变量引用成员变量没有默认构造函数的自定义成员变量这些在定义时必须初始化的成员变量还能用这种初始化方式进行初始化吗当然不行此时我们就得用第二种方式进行成员变量的初始化操作。 2.如果我们使用初始化列表进行成员变量的初始化操作就相当于是在变量定义时对成员变量进行了初始化操作这对于上述三种必须在定义时就必须进行初始化的成员变量而言是可行的。 相关示例代码如下 class A {public:A(int a){_a a;} private:int _a; }; class Date {public:Date(int year,int month,int day,int A):_year(year),_month(month),_day(day),_a(10),a(A),_aa(10){} private:int _year;int _month;int _day;const int _a;int a;A _aa; }; 重点对于自定义类型而言还有一个要注意的问题当自定义类型成员变量没有默认的构造函数时我们必须在定义时进行初始化所以我们必须用初始化列表对其进行初始化。但是当自定义类型成员变量有默认的构造函数时我们在定义时可以不用初始化在定义之后初始化也可以也就意味着有了默认构造函数的成员变量可以在构造函数的函数体内进行初始化。但是当我们在构造函数体内对有默认构造函数的成员变量初始化时编译器同时也默认生成了初始化列表调用了自定义成员变量的默认构造函数对其进行了初始化。所以就会存在不管自定义类型的成员变量是否存在默认的构造函数我们都会生成初始化列表对自定义类型成员变量进行初始化所以我们干脆让其都在初始化列表中初始化没有默认构造函数我们自己生成初始化列表为其初始化有默认构造函数编译器帮助我们自动生成初始化列表完成初始化。 总结对于内置类型的成员变量和自定义类型成员变量有默认构造函数在构造函数体内部和初始化列表中都可以进行初始化操作对于const成员变量引用成员变量自定义类型成员变量没有默认构造函数我们在初始化列表中完成初始化为了统一我们规定所有的成员变量都在初始化列表中进行初始化。 static成员 之前我们也学习过static关键字我们知道static可以改变变量的声明周期比如可以在局部变量之前加上static从而使局部变量拥有了和全局变量一样的生命周期在C也有static关键字那么它的作用是什么呢 其实C中的static关键字的作用和我们之前学习的是一样的同样也可以改变变量的生命周期可以是成员变量的周期使之属于类及所有的对象生命周期在整个程序运行期间。 先看如下代码,当静态成员变量为public时 class A { public:static int _c;A(int a1) {_a a;} private:int _a; }; //静态成员变量必须在类外进行定义初始化 int A::_c 1;int main() {//再类外实现对静态成员变量的访问当静态成员变量为pulbic时A a;cout a._c endl;cout A::_c endl;return 0; }解析静态成员变量必须在类外进行定义初始化。当静态成员变量为public修饰时我们在类外进行访问可以通过对象.类::方式去访问。 当静态成员变量用private修饰时在类外肯定是不能访问的所以我们必须在类内提供公共的接口去访问先看下列代码 class A { public:A(int a1) {_a a;}//提供公共的接口普通的成员函数void print(){cout _c endl;}//提供公共的接口static静态成员函数,但是static静态成员函数没有this指针所以不能访问非静态成员变量只能访问静态成员变量和成员函数static void print1(){cout _c endl;} private:int _a;static int _c; };int A::_c 3;int main() {//在类外实现对静态成员变量的访问当静态成员变量为private时A a;//1.通过对象.的方式去访问a.print();//2.通过类::方式去访问A::print1();return 0; } 解析如果是private修饰的静态成员变量我们在类外可以通过公共的接口即普通的成员函数和静态的成员函数进行访问但是静态的成员函数因为没有隐藏的this指针所以只能访问静态成员变量和成员函数不能访问非静态成员变量。 总而言之静态的成员函数和成员变量都属于整个类和所有对象都可以可以使用对象.和类::的方式去访问。 C11对于非静态成员变量初始化 我们在学习构造函数时我们学写了编译器生成的默认构造函数我们知道默认构造函数对于内置类型是不做初始化处理的只对自定义类型进行初始化处理为了改善这种情况C11发明了一种新的语法。就是给非静态成员变量声明时顺便给予缺省值。 相关代码如下 class A { public:void print(){cout a endl;} private:int a 10;int* p (int*) malloc(40); };int main() {A a;a.print();} 整个过程就相当于是给自定义类型给予了缺省值当构造函数的初始化列表没有给内置类型赋初始值时就会使用这个初始值。 运行截图如下我们发现内置类型确实使用了此缺省值。 友元 友元的概念友元是一种允许非类成员函数访问类的非公友成员的一种机制友元可以是函数或者类通过在类中用关键字friend说明该函数或者类使得函数或者类获得其私有和保护成员的访问权限在函数体中访问对象的成员必须用对象.的方式访问。 友元函数 直接看代码 class B {friend void print(B b); private:int _b666; };void print (B b) {cout b._b endl;} int main() {B b;print(b); } 运行截图如下 注意 1.友元函数可以访问类的私有和保护成员但是它不是成员函数。             2.注意const不能修饰友元函数因为友元函数不是成员函数const只能修饰成员                   函数。             3.友元函数就是一种普通的函数用一般函数调用的方式调用即可。 友元类 直接看代码 class B {friend class A; private:int _b888; };class A { public:void print(){cout b._b endl;}private:int _a 10;B b; };int main() {A a;a.print();} 再类B中直接声明类A是类B的友元类那么类A就可以访问类B的非公有成员运行截图如下 注意 1.友元类不具有交换性声明类A是类B的友元但此时类B不一定是类A的友元只有声明了类B时类A的友元类之后两者才可以互相访问彼此的非公有成员。             2.友元类的所有成员函数都是另一个类的友元函数都可以访问另一个类的非公有成员。 总结  到了这里类和对象的学习我们就可以告一段落了类和对象细小的知识点太多但是这些细小的知识点便是C学习的精髓所在望小伙伴们可以反复观看 本期内容到此结束^_^

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

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

相关文章

完整教程:操作系统之初识Linux

完整教程:操作系统之初识Linuxpre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco&quo…

XJSOJ优化(Stylus脚本)

/* XJSOJ Ultimate Smart Theme - 全面优化与重构 / / 版本: 3.0 - 完整结合版 / / 功能:包含基础圆润优化 + Smart Luogu式深度重构 */ /* === 基础重置与全局样式 === */{ border-radius: 8px !important; transiti…

使用mpm-itk让Apache以不同用户身份运行的完整指南

本文详细介绍了如何使用Apache的mpm-itk模块实现每个虚拟主机以不同用户身份运行,解决WordPress开发和生产环境中的文件权限问题,包含Docker容器配置和PHP邮件功能故障排除方案。使用mpm-itk让Apache以不同用户身份运…

sg.如何打开PySimpleGUI调试器窗口?

在PySimpleGUI中,调试器窗口的打开方式主要有以下三种,每种方式均适用于不同调试场景,且均通过内置调试器实现: 方法一:使用show_debugger_window()函数适用场景:需要快速查看变量值或交互式执行代码时。 操作步…

第6篇、Flask 表单处理与用户认证完全指南:从零到实战

标签:Python Flask Web开发 表单验证 Session Cookie 用户认证 安全编程🎯 为什么选择这篇文章? 在Web开发的世界里,表单处理和用户认证是每个开发者必须掌握的核心技能。无论是构建电商网站、社交平台还是企业管…

做视频网站收费标准wordpress.org密码

近日,全球IT市场研究和咨询公司Gartner发布最新报告《Magic Quadrant™ for Cloud Database Management Systems》(全球云数据库管理系统魔力象限)。全自研分布式数据库 OceanBase 入选“荣誉提及”,2022 年推出的云数据库 OB Clo…

腾讯开源 AudioStory!能生成 150 秒故事长音频,还会剧情拆解 + 自动配乐 - 详解

腾讯开源 AudioStory!能生成 150 秒故事长音频,还会剧情拆解 + 自动配乐 - 详解2025-09-27 22:09 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overf…

First blog of HannesZ

First blog of HannesZ这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/202501SoftwareEngineering这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/202501SoftwareEngineering/homework/13546这个作…

威联通 NAS Docker 容器更新详解:从备份、推送到重建的全流程指南

本文针对在威联通(QNAP)等 NAS 平台上,因网络限制导致从 Docker Hub 更新容器困难或速度缓慢的问题,提出了一套完整且高效的解决方案。文章以更新 Sun-Panel 导航面板为例,详细阐述了如何利用 PC 作为跳板,结合 …

parameter和defparam的简单用法

parameter和defparam的用法 1.parameter (1)“C语言中的宏定义”功能 对于parameter来说,在我们的verilog语言中,在写.v的文件中,对于同一个变量多次出现,每次都是同时改变这些变量,可以使用parameter来替换变量…

9.27学习笔记

今日速览 环境拓扑(安全开启后) 表格 节点 新增角色 Principal 样例 node1 KDC (kerberos) kadmin/admin@HADOOP.COM node2 YARN RM + Queue Mgmt yarn/node2@HADOOP.COM node3 Phoenix RS hbase/node3@HADOOP.COM 关…

什么网站做兼职最好平台经济是什么意思

首先,我的结论是,如果是对对象进行 操作的话,传的是地址,如果是对基本数据类型进行操作的话,传的是值!下面,我再用一个小的实例来测试我的结论:class Person {int age;public void setAge(int a…

开学日记

dse好玩的dse好玩 我选了M2/物理/化学,物理和M2老师允许我不听课,所以理论上我可以偶尔去隔壁中国文学&&历史客串一下,好玩的 M2目前就是在学代数入门,感觉学的东西和深度不是很牛,但是我们神秘的M2老师说…

生活随笔

2025.9.27 今天不用上课(开心 做了一些题水了会洛谷一天就结束了!

网站免费建站广告机创新的南昌网站制作

目录 1 填算式 2 提取子串 3 机器人行走 4 地址格式转换 5 排日程 前言:以下代码仅供参考,若有错误欢迎指正哦~ 1 填算式 【结果填空】 (满分11分)看这个算式:☆☆☆ ☆☆☆ ☆☆☆如果每个五角星代表 1 ~ 9 的不同的数字。这个算式有多少种…

西宁商城网站建设公司免费解析素材网站

制造执行系统MES是一种应用于制造工厂的实际操作系统,它通过实时监控和控制生产流程,为生产过程提供全面的管理和优化。在MES管理系统解决方案中,设备管理功能是非常重要的一部分,它可以实现设备实时监控、故障预警、维护保养等功…

NOIP模拟赛 十八

DP/生成函数+博弈论+构造/倍增+根号重构A. 神秘 DP 的神秘做法。 先考虑朴素 DP ,发现最短路是可以钦定的,具体的,设 \(1\) 到其最短路为 \(d\) ,则称其为第 \(d\) 层。 要求,每一层如果存在点,一定要向上一层连…

网站建设与设计毕业设计西安加盟代理网站建设

转自:http://xilinx.eetrend.com/content/2019/100042384.html xilinx7系列FPGA主要包括:Spartan-7、Artix-7、Kintex-7、Virtex-7。其性能/密度/价格也随着系列的不同而提升。 Spartan7系列是7系列中的屌丝青年,拥有最低的价格、最低的功耗…

UNIQUE VISION Programming Contest 2024 Autumn (AtCoder Beginner Contest 425)

A - Sigma Cubes点击查看代码 #include <bits/stdc++.h>using i64 = long long;void solve() {int n;std::cin >> n;int ans = 0;for (int i = 1; i <= n; ++ i) {ans += (i % 2 ? -1 : 1) * i * i * …

WPF Canvas draw circle,triangle,rectangle such as mark

//Window.xaml <Window x:Class="WpfApp15.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml&quo…