栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++【06】构造函数

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++【06】构造函数

构造函数

是成员函数的一种。

名字与类目相同,可以有参数,不能有返回值(void也不行)作用是对对象进行初始化,如给成员变量赋初值(但并不是执行构造函数时给对象分配内存空间。而是对象进行实例化时已经分配了内存空间。)如果定义类时,没有写构造函数,则编译器生成一个无参构造函数。对象生成时构造函数自动被调用。对象一旦生成就再也不能在其上执行构造函数。一个类可以有多个构造函数,构造函数直接参数不同或参数个数不同,构造函数直接形成重载关系。

class Complex{
    private:
        double real,imag;
    public:
        void Set(double r,double i);
};//编译器自动生成默认构造函数

Complex cl;//默认构造函数被调用
Complex * pc=new Complex;//默认构造函数被调用
构造函数在对象数组中的使用

1.

class CSample{
    int x;
  public:
    CSample(){
   cout<<"Constructor 1 Called"< 

2.

class Test{
    public:
        Test(int n){};//(1)
        Test(int n,int m ){};//(2)
        Test(){}//(3)

};

int main()
{
    Test array1[3]={1,Test(1,2)};//三个Test对象分别用构造函数(1)(2)(3)初始化
    Test array2[3]={Test(2,3),Test(1,2),1};//三个Test对象分别用构造函数(2)(2)(1)初始化
    Test* pArray[3]={new Test(4),new Test(3,4)};//注意,该方式只生成了2个Test对象。pArray[0],pArray[1]分别用构造函数(1)(2)初始化。pArray[2]未初始化,为空
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/779619.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号