构造函数用于创建类的实例对象,构造函数名应与类名相同,返回类型为void.

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了构造函数用于创建类的实例对象,构造函数名应与类名相同,返回类型为void.相关的知识,希望对你有一定的参考价值。

判断题

1.C++规定,每个类必须有默认的构造函数,没有构造函数就不能创建对象。

2.若没有提供任何构造函数,那么c++提供自动提供一个默认的构造函数,该默认构造函数是一个没有参数的构造函数,它仅仅负责创建对象而不做任何赋值操作。

3.只要类中提供了任意一个构造函数,那么c++就不在自动提供默认构造函数。

4.类对象的定义和变量的定义类似,使用默认构造函数创建对象的时候,如果创建的是静态或者是全局对象,则对象的位模式全部为0,否则将会是随即的。

我们来看下面的代码:

//程序作者:管宁
//站点:www.cndev-lab.com
//所有稿件均有版权,如要转载,请务必著名出处和作者

#include <iostream>
using namespace std;
class Student

public:
Student()//无参数构造函数

number = 1;
score = 100;

void show();

protected:
int number;
int score;

;

void Student::show()

cout<

void main()

Student a;
a.show();
cin.get();


在类中的定义的和类名相同,并且没有任何返回类型的Student()就是构造函数,这是一个无参数的构造函数,他在对象创建的时候自动调用,如果去掉Student()函数体内的代码那么它和c++的默认提供的构造函数等价的。
参考技术A 错,不一定,构造函数可以自己定义类型的,只是自动定义的默认的构造函数才是返回类型为void.

构造函数

构造函数 :

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

技术分享

特点:

1.构造函数的命名必须和类名完全相同。在java中普通函数可以和构造函数同名,但是必须带有返回值;
2.构造函数的功能主要用于在类的对象创建时定义初始化的状态。它没有返回值,也不能用void来修饰。这就保证了它不仅什么也不用自动返回,而且根本不能有任何选择。而其他方法都有返回值,即使是void返回值。尽管方法体本身不会自动返回什么,但仍然可以让它返回一些东西,而这些东西可能是不安全的;
3.构造函数不能被直接调用,必须通过new运算符在创建对象时才会自动调用;而一般的方法是在程序执行到它的时候被调用的;
4.当定义一个类的时候,通常情况下都会显示该类的构造函数,并在函数中指定初始化的工作也可省略,不过Java编译器会提供一个默认的构造函数.此默认构造函数是不带参数的。而一般的方法不存在这一特点;
5.构造函数有回滚的效果,构造函数抛出异常时,构造的是一个不完整对象,会回滚,将此不完整对象的成员释放(c++)
6.当一个类只定义了私有的构造函数,将无法通过new关键字来创建其对象,当一个类没有定义任何构造函数,C#编译器会为其自动生成一个默认的无参的构造函数。[1] 
7.在Python中构造函数必须通过重写__init__方法实现

 

 

以上是关于构造函数用于创建类的实例对象,构造函数名应与类名相同,返回类型为void.的主要内容,如果未能解决你的问题,请参考以下文章

构造函数作用是啥

深入类的方法

C# 构造函数总结

C# 构造函数总结

构造函数

Java中类的构造方法