时,美版苹果通讯录带括号号与不美版苹果通讯录带括号号有什么区别吗

他的最新文章
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)详谈构造函数加括号与不加括号的区别
转载 & & 作者:愫幕
下面小编就为大家带来一篇详谈构造函数加括号与不加括号的区别。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
如下所示:
//首先定义一个构造函数Hello
function Hello(){
  alert(1);
//定义一个函数表达式
var getName = function(){
  alert(2);
//实例化对象,下面这两个如果构造函数没有形参的话,实例化的时候构造函数可以不加括号(推荐加上);
var p = new Hello;
var p1 = new Hello();
//但是用下边的方式调用getName函数的时候,构造函数有没有括号可就不一样了;
new Hello.getName(); //这种执行顺序是先执行Hello.getName(),然后在使用new关键字;
new Hello().getName;//这种是先new Hello()一个对象,然后对象调用getName方法;
以上这篇详谈构造函数加括号与不加括号的区别就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具下次自动登录
现在的位置:
    如果这样定义对象:MyC 那么它的构造函数将会被执行,如果调用obj.MyMethod();也会执行正确。
    可是如果带有括号:MyClass obj(); 那么它的构造函数不会被执行,调用obj.MyMethod();也会出现语法错误,请问这种语法是把obj定义成什么了?
#include &iostream&
class MyClass
    MyClass()
    {
        std::cout && &Hello MyClass!& && std::
    }
    void MyMethod()
    {
        std::cout && &Hello MyMethod!& && std::
    }
    MyClass obj()把obj定义成什么 从语法上看是定义了一个名为obj,类型为MyClass类(也就是返回值为MyClass类型)的无参数函数。
    另外如果进行动态的堆分配的话是要带括号的,比如 MyClass *obj = new MyClass() 不加会报错(但是,在vc6.0中不加()并没有报错,而且结果是一样的,原因待解?但是有一条,如果类中定义了带参数的构造函数并且不定义默认构造函数(此时编译器便不再生成默认构造),定义类时不用括号肯定是错误的#add  为避免错误,统一加括号为妙)
【上篇】【下篇】
您可能还会对这些文章感兴趣!
百度站内搜索
同分类最新文章Powered by
本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任! & & 本站特聘法律顾问:徐怀玉律师 李志群律师他的最新文章
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)

我要回帖

更多关于 带括号的四则运算 的文章

 

随机推荐