实际上构造函数与普通的函数并没有区别,所以一般在开发中会使用大驼峰命名规则来区别普通的函数,构造函数实际上是通过返回一个this值来完成构造函数的创建的.
这个rutern this的操作由new这个操作符来完成,当然个人也可以手动来设置return返回值,手动设置的返回值会覆盖由new所自动添加的,但是这个有一个硬性的规定,就是你覆盖new所设置的返回值的必须要是一个对象,否则虽然不会报错,但是是不生效的。
但是声明this以及确定this的指向这两点依旧不是很清楚。所以待续。

默认情况下this的指向是全局对象global object当在被调用的函数内部时,this的指向是这个函数的调用者,而在构造函数中,应为有new关键字,这个关键字使构造函数中的this声明为一个空对象。
当然还有其他很多种情况的this指向问题,例如原型链等,暂时没有理解到,所以避而不谈。

转载于:https://www.cnblogs.com/freesfu/p/10082212.html

构造函数以及this相关推荐

  1. 派生类参数初始化列表和基类构造函数顺序

    今天被问到了一个问题,随便回了一句,父类还没有构建,怎么能初始化父类的成员. 派生类构造函数的参数初始化列表,为什么不能初始化基类的成员? 例如下面的是不可以的 class Rectangle : p ...

  2. C++ 复制构造函数或者拷贝构造函数

    复制构造函数 是一种特殊的构造函数,它在创建对象时,是使用同一类中之前创建的对象来初始化新创建的对象. 复制构造函数通常用于: 通过使用另一个同类型的对象来初始化新创建的对象. 复制对象把它作为参数传 ...

  3. C++ 笔记(17)— 类和对象(构造函数、析构函数、拷贝构造函数)

    1. 构造函数 构造函数是一种特殊的函数(方法),在根据类创建对象时被调用.构造函数是一种随着对象创建而自动被调用的函数,它的主要用途是为对象作初始化. 构造函数的名称与类的名称是完全相同的,并且不会 ...

  4. php构造和析构方法,php5构造函数与析构函数实例

    自php5起,有了构造函数与析构函数. 这使得php更富有面向对象的魅力了. 在php4时,构造函数用的是与类同名的函数来进行构造这个动作. 例如: 复制代码 代码示例: /* * myclass.p ...

  5. java super快速生成_为什么当我使用编辑器代码生成器时,eclipse会在构造函数中自动添加一个java super()方法?...

    正如@Kon在他的评论中提到的, Java中的一个空构造函数包含对超类构造函数的隐式调用. 此外,没有明确调用super()的非空构造函数将在顶部具有隐式调用. 离开super()调用是唯一的时候,如 ...

  6. 【C++】何时需要自定义拷贝构造函数和赋值符

    先来说结论:当类中有指针类型成员变量的时候,一定要自定义拷贝构造和赋值运算符 原因:当我们在有指针类成员变量的时候,还是用默认拷贝构造函数(拷贝构造函数执行的时候会调用赋值符),默认赋值为浅拷贝,会导 ...

  7. 对象特性-----拷贝构造函数的调用

    C++中拷贝构造函数调用通常三种情况: ****使用一个已经创建完毕的对象来初始化一个新对象 ****值传递的方式给函数参数传值 ****以值方式返回局部对象 #include<iostream ...

  8. 对象特性-构造函数和析构函数

    基础概念: 构造函数:是一种特殊的方法.主要用来在创建对象时初始化对象,即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中.特别的一个类可以有多个构造函数 ,可根据其参数个数的不同或 ...

  9. C++:构造函数作用及用法

    PS:写在前面 就是构造函数的作用可以这样理解,如果没有构造函数就是类里边只是声明了成员变量,成员函数,还有最后的对象,这样你在对该对象进行初始化赋值时就比较麻烦就得先调用成员函数对成员变量赋值,成员 ...

  10. C++ 拷贝构造函数和重载赋值运算符的区别

    文章目录 拷贝构造函数 重载赋值运算符 赋值运算符和拷贝构造函数最大区别是赋值运算符没有新的对象生成,而拷贝构造函数会生成新的对象. 为了更加形象 准确得描述 赋值运算符和拷贝构造函数得区别,将详细通 ...

最新文章

  1. 云上护航服务—保障云上的尖峰时刻
  2. 大神干货:腾讯广告算法大赛亚军宝藏指南带你顺利出圈
  3. 镜像文件下载及VM部署win xp 保姆级教程
  4. XShell安装配置教程
  5. HTTP请求时POST参数到底应该怎么传?
  6. php notice错误是什么意思,PHP中Notice错误常见解决方法
  7. ASP.net和ASP的区别
  8. 【STC单片机学习】第二课:单片机是什么东西
  9. 设计公司该怎样开展业务?
  10. MySQL学习笔记整理(上部)
  11. [MATLAB] 心形图
  12. Foxmail中加入Gmail邮箱。对“:ssl连接错误, errorCode:”的修复。
  13. React报错之React hook ‘useState‘ cannot be called in a class component
  14. [小说]魔王冢(59)万事俱备
  15. RuntimeError: applying transform <monai.transforms.croppad.dictionary.RandCropByPosNegLabeld object
  16. 用JS描述的数据结构及算法表示——栈和队列(基础版)
  17. Django shell测试
  18. 亚马逊国际获得AMAZON商品详情API,数据接口
  19. python苹果和虫子_用C++实现苹果和虫子问题
  20. css实现文字从右向左排列

热门文章

  1. [51单片机学习笔记ONE]-----LED灯的多种使用方法
  2. ie7和ie8 select使用jquery clone不兼容处理
  3. hdu 1312 Red and Black 解题报告
  4. ORB_SLAM2代码阅读(2)——tracking线程
  5. linux 禅道服务器,Linux下如何搭建禅道项目管理软件
  6. rancher 外置 mysql_rancher使用外部数据库无法正常使用
  7. 平台如何限制ip流量_ABTest 平台设计 - 如何进行流量分桶
  8. 角色转移服务器维护怎么回事,服务器互通及游戏角色转移说明
  9. 指针运算(自己做个笔记)
  10. oracle发送邮件附件,oracle发送邮件存储过程: