【个人理解向】对构造函数的理解
来源:互联网 发布:网络控制器怎么装 编辑:程序博客网 时间:2024/06/04 20:03
(最新理解10.21)
结构体这东西就是一个独立的函数,你可以在里面干很多事情,甚至是直接把程序写到里面,我的理解还是太浅显了,此贴已废,请大家不要相信这里面写的任何一个字!
首先我们先来看看这样一个结构体:
struct Edge{ int from,to,dist; Edge(int u,int v,int d):from(u),to(v),dist(d){}//一种例子 Edge(){from=0;to=0;}//另一种例子 //Edge(){} 通式};
那么,在结构体里面定义的 <结构体名> (参数){函数内容} 就构成了一个构造函数。
作为一个函数,构造函数也拥有函数的一些特性,当然,也有些不同。
不同之处在于,该函数没有返回值,也并不能用任何方式“return”。
这个函数是如何运转的呢?
这个函数在结构体被定义的时候调用,调用后,它会选择符合函数条件的那一个构造函数,所以在上式中一式和二式是可以同时存在的,但显然,2和3不能同时存在(CE)。
像这样:
Edge sy(1,2,3); Edge st;
第一个调用了第1个函数,声明了一个类型为‘Edge’的结构体,并将from,to,dist赋值为1,2,3;
第二个则调用了第2个函数,并将from,to赋值为0;
scanf("%d%d%d",&st.from,&st.to,&st.dist); printf("%d %d %d\n",st.from,st.to,st.dist); printf("%d %d %d",sy.from,sy.to,sy.dist);
我们依旧正常访问即可,构造函数对定义结构体之后的一切没有影响;
这个东西的用处有一些,主要是为了方便,我们对结构体中的好几个变量同时赋值时可以用一式,要让一些东西归零时就可以用二式,这样虽然没有什么高端技巧,但写起来会更简洁,可读性会提高。(总而言之就是对懒人很方便)
第一次写博客,内容浅显且不保证正确,纯属个人理解。如有错误之处敬请提出,为了我和可能看这个博客的人,请不吝赐教,谢谢!
2017.10.20晚
阅读全文
2 0
- 【个人理解向】对构造函数的理解
- 个人对构造函数理解
- 对构造函数的理解
- 对C++默认构造函数的理解
- java菜鸟对构造函数的理解
- Java中对构造函数的理解
- 个人对继承理解以及虚析构函数的理解
- 关于对构造函数和拷贝构造函数的理解
- UVM的构造函数new的个人理解
- 构造函数的理解
- 构造函数的理解
- 对通过拷贝构造函数对 对象初始化的理解
- 个人对getInitParameter的理解
- 个人对宏观经济学的理解
- 个人对withValueBackReference的理解
- 个人对MVC的理解
- 对SVM的个人理解
- 个人对jms的理解
- 生活小记30
- 斜率优化 入门超经典,简单快乐入门
- HTTP中get和post区别
- 数据库设计的三大范式
- ubuntu下创建快捷方式
- 【个人理解向】对构造函数的理解
- Anaconda安装
- NKOJ-3773 紧急集合
- 美团点评2017秋招笔试编程题
- vue.js学习笔记,一、安装部署
- Android 源码设计模式读书笔记 前四章
- 编译错误
- CSS 构造块级元素
- FPGA之quartus入门第一课