知识大全 C++中初始化对象的数据成员必须要用到构造函数吗

Posted 函数

篇首语:亦余心之所善兮,虽九死其犹未悔。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 C++中初始化对象的数据成员必须要用到构造函数吗相关的知识,希望对你有一定的参考价值。

C++中初始化对象的数据成员必须要用到构造函数吗?请高手详细解答!谢谢!  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

C++中初始化对象的数据成员必须要用到构造函数吗?请高手详细解答!谢谢!

一定的,如果你有定义构造函数就用你定义那个,如果你没有自己定义,系统会默认给你一个来用起。

C++类建立构造函数时必须把所有数据成员都初始化吗?

不用,如果你逻辑上不会出现问题,没有强制要求你必须初始化所有成员变量。

C++程序:设计一个钟表类,包括时、分、秒。使用构造函数初始化数据成员

class Clock
int hour,minute,second;
public:
Clock(int hour,int minute,int second):hour(hour),minute(minute),second(second)
;
其中的int最好换成unsigned char,因为都是正的不大的数字

用复制构造函数初始化时静态数据成员怎么办?

在第一次定义类的对象的时候,静态数据成员就需要被初始化一次,以后在定义同类型的对象时,static不能被初始化了,但是可以修改static变量的值。

如果一个数据成员是不具有零参数的构造函数的类类型,那么,该数据成员也必须在初始化列表里进行初始化。

class AA 此类不具有零参数的构造函数

int ii;
public:
零参数的构造函数是这样 AA()ii = 1;
AA(int i)ii = i; 有参数的构造函数
void setMember(int s) ii = s;
;
class BB

AA aa; aa就是"一个数据成员是不具有零参数的构造函数的类类型"
public:
如果写成 BB(int i) aa.setMember(i); 而不是按下一行那样写,编译报错
BB(int i):aa(i) "该数据成员也必须在初始化列表里进行初始化" 指的就是这句中的":aa(i)",
void setMember(int s) aa.setMember(s);
;
void main(void)

BB b(1);
b.setMember(2);

在C++中,如果要调用非默认的拷贝构造函数,对于成员对象,是不是要在成员初始化列表中进行初始化?

那要看你是要调用成员对象的哪个构造函数了,如果是有参数的就要显式调用,若是默认构造函数可以不写,默认会调用成员对象的默认构造函数

当然了啊

怎样让构造函数里的数据成员只执行一次

构造函数是一种特殊的方法主要用来在创建对象时初始化对象即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中特别的一个类可以有多个构造函数可根据其参数个数的不同或参数类型的不同来区分它们即构造函数的重载。构造函数与其他方法的区别:1.构造函数的命名必须和类名完全相同;而一般方法则不能和类名相同。2.构造函数的功能主要用于在类的对象创建时定义初始化的状态.它没有返回值,也不能用void来修饰.这就保证了它不仅什么也不用自动返回,而且根本不能有任何选择.而其他方法都有返回值.即使是void返回值,尽管方法体本身不会自动返回什么,但仍然可以让它返回一些东西,而这些东西可能是不安全的。3.构造函数不能被直接调用,必须通过new运算符在创建对象时才会自动调用,一般方法在程序执行到它的时候被调用。4.当定义一个类定义的时候,通常情况下都会显示该类的构造函数,并在函数中指定初始化的工作也可省略不去c#编译器会提供一个默认的构造函数.此默认构造函数是不带参数的.而一般方法不存在这一特点。

判断题:可以在类的构造函数中对静态数据成员进行初始化。 A、错误 B、正确如题 谢谢了

A、错误
记得采纳啊

在c++中为何需要构造函数,只为初始化对象吗,想不明白!

当然不只是为了初始化对象~~~~
还可能需要记录一些其他信息,因为在我们新建一个类的对象的时候,如果不指定用那个构造函数,那么系统就会调用默认构造函数
我们利用这一点,可以做许多对我们有用的事情
比如,在类里面声明一个静态变量,然后用这个静态变量统计一个程序中相应类的对象有多少个
上面只是一个小例子,用来说明构造函数其实用途很多~~
其实程序语言就是这样的~~~~他们把框架给了我们,告诉我们每样工具是做什么用的,怎么用~~具体思想性的东西还是需要我们自己动手编写的。这也就是为什么算法比程序语言本身更重要的原因,那么在类的世界里面,设计模式也是必不可少的东西。
希望你能理解我打这么多的用意~~~亲~给个好评吧~

相关参考

知识大全 构造和析构成员函数

    类有一个特殊的成员函数叫做构造成员函数它通常用于初始化类的数据成员在创建对象时会自动调用类的构造成员函数Java中的构造成员函数必须与该类具有相同的名字另外构造成员函数一般都应用public类

知识大全 C#默认构造函数的作用

C#默认构造函数的作用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  构造函数主要用来初始化对象

知识大全 在aspx页面中事件的执行顺序[1]

   一详细版  初始化  当页面被提交请求第一个方法永远是构造函数您可以在构造函数里面初始一些自定义属性或对象不过这时候因为页面还没有被完全初始化所以多少会有些限制特别地您需要使用Http

知识大全 使用构造函数初始化语句

C#箴言:使用构造函数初始化语句  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &nbs

知识大全 构造函数和析构函数

  类构造函数  本节将讨论三种类构造函数  类构造函数的类型  注释  实例  用于创建并初始化类的实例  私有  在类之外不可访问的特殊类型实例构造函数无法用私有构造函数来实例化类  静态  在创

知识大全 数据结构之顺序表上基本运算的实现[2]

  顺序表的销毁  顺序表使用完后必须要销毁否则可能会造成内存资源浪费等问题顺序表的销毁操作实际上是初始化操作的逆运算由于要修改顺序表的指针变量所以要将指针地址传给该函数首先判断要销毁的表是否存在然后

知识大全 privte的析构函数和构造函数

  C++中是不允许virtual构造函数的如果在构造函数前加virtual  以vc为例编译器报错为inlineistheonlylegalstorageclassforconstructors  

知识大全 类的成员函数的说明

  成员函数相当于C或C++中的函数你应该用如下的方式说明一个成员函数  Typename(Parameter)  //functionbody  注意每一个成员函数必须返回一个值或声明返回为空(vo

知识大全 数据库驱动程序测试的建议

  不要用TestCase的构造函数初始化Fixture而要用setUp()和tearDown()方法  不要依赖或假定测试运行的顺序因为JUnit利用Vector保存测试方法所以不同的平台会按不同的

知识大全 控制对类内部数据或函数成员访问的类

  publicclassProtectClassTest  publicstaticvoidmain(String[]args)throwsProtectClassNoAccessException