做网站asp和asp.net有没有专门做布料的网站

diannao/2025/10/17 3:56:50/文章来源:
做网站asp和asp.net,有没有专门做布料的网站,个人网站界面设计图片,西安公司网站设计前言 在C语言中#xff0c;当我们定义了一个结构体时#xff0c;通常需要编写一个函数来初始化它#xff0c;否则在创建结构体变量时容易忘记调用初始化函数#xff0c;导致程序出错。但在C中#xff0c;我们将不会有这样的烦恼#xff0c;前提是编写了正确的构造函数。…前言 在C语言中当我们定义了一个结构体时通常需要编写一个函数来初始化它否则在创建结构体变量时容易忘记调用初始化函数导致程序出错。但在C中我们将不会有这样的烦恼前提是编写了正确的构造函数。 构造函数 构造函数是类的特殊成员函数之一在实例化对象时由编译器自动调用且在对象整个生命周期内仅调用一次。尽管名为“构造”但构造函数的主要任务并非是开空间创建对象而是初始化对象。当对象被定义时对象的整体空间被分配但对象内的成员变量还未定义构造函数的作用就是完成对象成员变量的初始化工作。需要注意的是构造函数不能被显式调用而是在对象创建时自动执行。 接下来以日期类为例演示一下构造函数的一些书写规则 class Date { public:// 构造函数Date(int year, int month, int day){_year year;_month month;_day day;}// print 函数稍后用来测试打印一下数据void print() { cout _year - _month - _day endl; }private:int _year; int _month;int _day; }; 函数名字与类名相同没有返回值也不用写 void且可以被重载。需要注意的是编译器会在每个成员函数中隐藏一个指向对象本身的指针即 this 指针以便在函数内部访问对象的成员。 来看下它的使用 int main() {Date d1(2024, 1, 29);d1.print();return 0; } 程序运行起来没有任何问题但是很显然现在的构造函数是有缺陷的在定义对象时必须给参数因此我们需要重载一个无参的构造 // 在Date类中的考虑到篇幅就不每次都把整个类写出来Date(){_year 1;_month 1;_day 1;} 但是这样还是有些多余我们完全可以利用缺省参数把有参无参合二为一  Date(int year 1, int month 1, int day 1){_year year;_month month;_day day;} 这样Date类的构造函数就比较完善了。 能否不写 如果我们不写构造函数会发生什么程序会崩溃吗这里先给一个结论当没有显示定义构造函数时编译器会自动生成一个无参的默认构造函数一旦用户显式定义编译器将不再生成。那么问题来了编译器生成的默认构造是什么行为呢它会怎么去初始化我们的对象先通过下面这段代码来探究一下 class Date { public:void print() { cout _year - _month - _day endl; }private:int _year; int _month;int _day; };int main() {// 注意这里不传参数时不要带括号不然成函数调用了Date d1;d1.print();return 0; } 现在我们的Date类完全是在裸奔我们定义一个对象并调用它的print函数发现得到的全是随机值。可见编译器生成的默认构造对内置类型不处理值是不确定的。那对于自定义类型呢继续通过下面这一段代码来探究一下 class Stack { public:Stack(int capacity 4){cout Stack(int capacity 4) endl;}private:int* _a;int _size;int _capacity; };class MyQueue { public:private:Stack _s1;Stack _s2; };int main() {MyQueue q;return 0; } 这里栈的构造函数我们让它简单打印一下信息看它有没有被调用 。程序运行后我们发现打印了两次信息可见栈的构造函数被调用了两次。可见编译器生成的默认构造对于自定义类型会去调用它的默认构造。 这里提出了一个概念——默认构造稍微解释一下什么是默认构造1. 无参数的构造函数 2. 有参数但同时是全缺省的构造函数 3. 编译器生成的。这三种都能称为默认构造但是很显然这三种在一个类里只会存在一个简而言之不需要传参就能调用的都可以称为默认构造。 倘若这个栈没有默认构造把缺省值去掉那么不好意思编译器报错。这种情况怎么办呢这时候就需要初始化列表登场了。 初始化列表 构造函数通常可以分为两个部分初始化列表和函数体。在构造函数体内我们可以进行变量的赋值操作严格来说这并不是初始化而是赋初值。因为初始化只能进行一次而函数体内的赋值操作可以多次执行。因此成员变量的定义初始化是在初始化列表中进行的 你可能会好奇为什么需要初始化列表在函数体内赋值不也好好的但是有些成员变量在定义时必须初始化如引用、const 修饰的成员变量。还有就是像上面提的没有默认构造函数的自定义类型成员也可以在初始化列表中通过传参来调用构造或者不想用它的默认构造也可以在初始化列表里传参构造。 通过这段代码来看看用法 class Stack { public:// 语法规定这样写Stack(int capacity 4):_capacity(capacity),_size(0),_a(nullptr){cout Stack(int capacity 4) endl;}private:int* _a;int _size;int _capacity; };class MyQueue { public:MyQueue(){}private:Stack _s1;Stack _s2; };int main() {MyQueue q;return 0; } 对于MyQueue来说它的构造函数虽然什么都没有但是它还是会去调用自定义类型成员的默认构造因为初始化列表才是成员变量定义的地方而初始化列表中又没有给自定义类型成员显示定义。 class Stack { public:Stack(int capacity):_capacity(capacity),_size(0),_a(nullptr){cout Stack(int capacity) endl;}private:int* _a;int _size;int _capacity; };class MyQueue { public:MyQueue():_s1(1),_s2(2){}private:Stack _s1;Stack _s2; };int main() {MyQueue q;return 0; } 现在对于没有默认构造函数的自定义类型成员只需要在初始化列表中传参数就行了。  C11中新增了一个特性可以在成员变量的声明那里给缺省值这个缺省值实际上就是在构造函数的初始化列表中使用的初始值。如下所示 class MyQueue { public:MyQueue(){}private:Stack _s1 1;Stack _s2 2; }; 值得一提的是这里除了缺省值还涉及到隐式类型转换。  小题目 class A { public:A(int a):_a1(a),_a2(_a1){}void Print() { cout _a1 _a2 endl; }private:int _a2;int _a1; };int main() {A aa(1);aa.Print();return 0; } 这个程序在vs下运行得到的是1和随机值因为成员变量在类中声明次序就是其在初始化列表中的初始化顺序与其在初始化列表中的先后次序无关。 补充  一般情况下我们需要自己编写构造函数。然而如果成员变量在声明时已经有了缺省值或者这些成员变量是自定义类型且具有默认构造函数则可以考虑不编写构造函数。 值得注意的是构造函数可以设为私有这样做的话外部代码将无法直接实例化对象只能通过特殊手段如定位 new 来创建对象。

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

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

相关文章

做网站推销好做吗编程网址

FDTD2018a安装问题记录 目录问题解决方案 目录 问题 解决方案 电脑名字如果是中文改成英文

宏大建设集团有限公司网站人事怎么做招聘网站比对分析

转载自 对Java的URL类支持的协议进行扩展的方法JAVA默认提供了对file,ftp,gopher,http,https,jar,mailto,netdoc协议的支持。当我们要利用这些协议来创建应用时,主要会涉及到如下几个类:java.net.URL、java.net.URLConnection、InputStream。URL类默认…

接单做网站wordpress后台管理插件

计算机内存原理 要说递归和栈的问题,首先就要说下计算机内存的基本原理。简单理解计算机内存原理可以将一台电脑看作超市的存包柜,每个柜子都有柜号(即计算机中的地址,如0x000000f)。当需要将数据存储到计算机中时&…

怎么在网上查网站空间是双线还是单线嘉兴网站建设方案策划

目录 ​​​​​​​一、文件和目录(II) 1、文件 2、目录 二、文件存取方法、存取控制(II) 1、文件存取方法 2、文件的访问 3、文件控制 三、常见嵌入式文件系统(I) 一、文件和目录(I…

可以做书的网站贷款网站建设

转载链接:http://www.jb51.net/css/72443.html 用css3的animation完成一个动画,当只有这个动画完成时才执行令一个事件,比如让动画保持在终止的状态或其他一些事件。我们该怎么办呢。 第一种方法: 用计时器,设定一个…

免费域名注册网站有哪些网站建设分享

下载Windows Live Writer整体安装包,最好是离线安装包 2.在xp系统上安装 3.查找C:\Program Files\Common Files\Windows Live\.cache目录 .cache目录是隐藏的,目录下面就是各个安装文件的msi安装包 4.拷贝相应的msi文件,到Windows 2003安装就…

茂名优化网站建设家装网站

前言 近日,艾伦人工智能研究所联合多个顶尖学术机构发布了史上首个100%开源的大模型“OLMo”,这一举措被认为是AI开源社区的一大里程碑。OLMo不仅公开了模型权重,还包括了完整的训练代码、数据集和训练过程,为后续的开源工作设立…

科技有限公司可以做网站建设吗媒体代发网站

文章目录 一、目标:容器事件和事件监听器二、设计:容器事件和事件监听器三、实现:容器事件和事件监听器3.1 工程结构3.2 容器事件和事件监听器类图3.3 定义和实现事件3.3.1 定义事件抽象类3.3.2 定义应用上下文事件实现类3.3.3 上下文刷新事件…

如何让网站上线中国最大的外贸平台

随着软件行业的飞速发展,互联网公司对开发者的技能要求也越来越高。而高并发、网络编程、微服务、海量数据的处理等技能,是每一个开发者进阶时的必学知识。为了帮助初级开发者快速掌握这些实用技术,本书以“理论+范例”的形式对各…

国内站长做国外网站php网站后台入口

获取源码资料,请移步从戎源码网:从戎源码网_专业的计算机毕业设计网站 项目介绍 基于springboot的学习英语管理系统:前端 thymeleaf、jquery,后端 maven、springmvc、spring、mybatis,角色分为管理员、用户&#xff…

设计单网站建设自己做视频网站如何接广告

基于Matlab的数据可视化 一、二维图形的绘制(一)基本图形函数(1)plot函数(2)fplot函数(3)其他坐标系的二维曲线 (二)图形属性设置(1)线…

网站集约化 建设方案电子商务网络营销的特点

使用 Spring Authorization Server 实现具有 PKCE 的单页应用程序进行身份验证 开启 CORS SPA 由静态资源组成,可以通过多种方式进行部署。它可以与后端分开部署,例如使用 CDN 或单独的 Web 服务器,也可以使用 Spring Boot 与后端一起部署。…

公司网站服务器租赁免费做ppt的网站

异地组网安装是指在不同地域的多个设备之间建立网络连接,以便实现数据传输和协同工作的过程。在如今的数字化时代,异地组网安装已经成为了许多企业和组织所必需的一项技术。 天联的使用场景 在异地组网安装中,天联是一种常用的工具。它具有以…

网站做seo收录wordpress 设置ftp

1、事务简介 事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。在关系数据库中,一个事务由一组SQL语句组成,事务具有4个属性:原子性、一致性、隔离性、持久性。这四个属性通常称为ACID原则。 原子性(atomici…

网站为什么被挂马长久新开传奇网站

distinct MongoDB 的 distinct 命令是获取特定字段中不同值列表的最简单工具。 该命令适用于普通字段、数组字段以及数组内嵌文档(集合对象)。 db.getCollection(customer).distinct("customer_type")// chances字段的值是个集合,获…

html5行业网站企业服务中心抖音

当构建高可用的网络应用时,负载均衡是至关重要的技术之一。Nginx 是一个强大的开源反向代理服务器,提供了丰富的负载均衡功能,包括负载均衡算法和健康检查。在本篇博客中,我们将讨论如何使用 Nginx 进行负载均衡,并结合…

门户网站推广优势小程序开发定制公司北京

一:题目 二:思路 1.这个题不能用优先队列,虽然我们可以通过优先队列得到最大值,但是我们在移动 窗口的时候,便不可以正常的删除元素了 2.虽然不能用优先对列,但是我们依然希望可以得到队首的元素的时候是最大值,同时还…

网站的下拉列表怎么做洛阳php网站开发

题目背景:目前往往需要对测序后的序列进行聚类与比对。其中聚类指的是将测序序列聚类以判断原始序列有多少条,聚类后相同类的序列定义为一个簇。比对则是指在聚类基础上对一个簇内的序列进行比对进而输出一条最有 可能的正确序列。通过聚类与比对将会极大…

建设网站主机可以用吗做软件开发有前途吗

Makefile中: ? 的区别 在Makefile中我们经常看到 : ? 这几个赋值运算符,那么他们有什么区别呢?我们来做个简单的实验 新建一个Makefile,内容为: ifdef DEFINE_VRE VRE “Hello World!” else endif ifeq ($(OPT),define) VRE…

工伤做实的那个网站找人做网站大概多少钱

有这样一个3位数,组成它的3个数字阶乘之和正好等于它本身。 即:abc a! b! c! 请找出所有满足要求的三位数.审好题很重要:三位数而非,三位数的个数 先写出一个函数求出某个数的阶乘,在跟别求出一个三位数的个十百位&…