一个自定义的类,忘了定义构造函数,还能初始化么?

如题所述

一个类一定要进行初始化的啊

如果一个类中没有定义任何的构造函数,那么编译器只有在以下三种情况,才会提供默认的构造函数:
1、如果类有虚拟成员函数或者虚拟继承父类(即有虚拟基类)时;
2、如果类的基类有构造函数(可以是用户定义的构造函数,或编译器提供的默认构造函数);
3、在类中的所有非静态的对象数据成员,它们对应的类中有构造函数(可以是用户定义的构造函数,或编译器提供的默认构造函数)。
温馨提示:内容为网友见解,仅供参考
第1个回答  2007-04-24
具体就要看什么语言了吧..java和delphi有默认的构造函数的..即使没有定义构造函数java会采用和类同名的构造函数..delphi则是Create

其他语言没有怎么学过..不太清楚哈
第2个回答  2007-04-24
默认 类名(){}

...所定义的对象,如果一个类中没有定义任何构造函数,则该类的对_百度...
不对,c++里不写类的构造函数时,编译器会为类创建一个默认的构造函数,虽然这个函数什么都不做,但是类的对象还是会在此时初始化,不过,对象成员的值是随机的,比如,指针型成员变量可能为NULL,也有可能不为NULL。

一个类的构造方法的作用是什么?若一个类没有声明构造方法,该程序能正确...
构造函数是在创建类对象实例的时候调用的,一般用来做成员的初始化。如果手动没有提供相应的构造函数,则自动生成一个默认构造函数。public class ForTest { ForTest(){ System.out.println("构造方法");} public void otherMethod(){ System.out.println("其他方法");} public static void main(Stri...

类必须写构造函数吗? 不是有默认的吗?
不一定的,如果你自己实现了构造函数,就没有,如果没有实现构造函数,系统会默认加上一个无参数的构造函数。应该说c++的类必须有构造函数。

如果不定义构造函数,编译器给出的默认构造函数一样么,这时定义的对象怎 ...
构造函数是编译器提供的一个接口供程序员选择,在创建对象时按需要初始化成员变量。当然你也可以不通过构造函数初始化,选择在创建对象后,通过公开成员变量由外部程序赋值,或者你也可以编写相应的函数进行赋值,具体怎么做由程序员决定。当没有定义构造函数时,系统提供一个默认构造函数(隐含的),只是为了...

java中,如果你写了构造函数,则编译器就不会调用
印刷确实有问题,否则就是书的描述不全。每个类都有一个默认的不带参数构造方法,如果自己没有定义任何构造函数,那么这个类实例化的时候就会调用这个默认的构造方法。如果你自己写了一个构造方法,那么类在初始化的时候就不会去调用这个默认的方法了,因为它已经不存在了,如果你想自己写一个构造方法,...

关于类的定义中的初始化
定义是指开辟空间,初始化是指给一个初值。在初始化列表中初始化时,定义和初始化同时进行,因此初始化的顺序与初始化列表的顺序无关,只与声明成员的次序相同;2、必须使用初始化列表的成员,有些成员必须构造函数初始化列表中初始化,不可以在构造函数的函数体中初始化,如const成员或引用类型的成员。

mfc中如何初始化自定义的类的对象
1. 找到自定义的类的构造函数,添加参数重写构造;2.找到调用自定义类的类的构造函数,在构造函数添加参数,调用重写的带参的构造初始化;3. 一般可能还是会用指针,提供公有接口设置相关属性,当然根据你的情况可以适当调整

python中类的构造方法中需要定义和初始化变量吗?
要不要定义取决于有没有在其他地方用到这些变量,要写成def _int_(self,name,ID,score1,score2,score3,sum)的情况是你想要在定义类的时候同时初始化这些变量就这么写,如果想让这些变量用默认值初始化就可以不用这么写

是不是写一个类必须要自己写构造函数?
一般如果你要在实例化这个类的时候希望它把像:成员变量初始化等等操作完成的话,你就可以自己显式的写上一个,如果不必做这些的话,不写没关系,编译器给你个默认为空的构造函数。

没有默认的构造函数该怎么解决?
如果你的类没有定义构造函数,那么编译器将为你生成一个默认无参数构造函数 但如果你定义了一个构造函数,那么编译器将不为你自动生成默认构造函数 那么你在使用 ClassType objectname;时将没有匹配的构造函数被调用 那么你必须自己定义一个默认构造函数(即无参或者参数都有默认值)...

相似回答