棋牌游戏大厅开户

您现在的位置: 网上现金棋牌游戏平台 >> 棋牌技巧 >> 棋牌开发 >> 正文

C++中的默认构造函数

分享到:
时间:2014-11-21  看看谷歌  瞅瞅搜狗  眯眯搜搜
内容简介:默认的构造函数是指为所有参数都提供了默认值的构造函数,通常是指无参的构造函数。比如下面的类Test,它的默认构造函数就是Test()。本文由网上现金棋牌游戏平台www.crjq8.com编辑整理,介绍各种网上真钱棋牌游戏技巧,澳门赌场赌博技巧,提供各种网上博彩游戏,网上真钱游戏,免费试玩。希望C++中的默认构造函数这篇文章能给你提供帮助。

棋牌游戏精简版下载 棋牌游戏完整版大厅下载

默认构造函数

默认的构造函数是指为所有参数都提供了默认值的构造函数,通常是指无参的构造函数。比如下面的类Test,它的默认构造函数就是Test()。

class Test
{
public:
    Test(){} // default constructor
} ;
如果你没有为你的类提供任何构造函数,那么编译器将自动为你生成一个默认的无参构造函数。一旦你为你的类定义了构造函数,哪怕只是一个,那么编译器将不再生成默认的构造函数。

为你的类提供默认的构造函数

有很多原因,列举如下:

1. 当你使用静态分配的数组,而数组元素类型是某个类的对象时,就要调用默认的构造函数,比如下面的代码。

Object buffer[10]; // call default constructor
2. 当你使用动态分配的数组,而数组元素类型是某个类的对象时,就要调用默认的构造函数,比如下面的代码,如果Object没有默认的构造函数,是无法通过编译的,因为new操作符要调用Object类的无参构造函数类初始化每个数组元素。

Object* buffer = new Object[10];
3. 当你使用标准库的容器时,如果容器内的元素类型是某个类的对象时,那么这个类就需要默认的构造函数,原因同上。

vector<Object> buffer;
4. 一个类A以另外某个类B的对象为成员时,如果A提供了无参构造函数,而B未提供,那么A则无法使用自己的无参构造函数。下面的代码将导致编译错误。


class B
{
    B(int i){}
};

class A
{
    A(){}
    B b;
};

int main(void)
{
    A a(); // error C2512: 'B' : no appropriate default constructor available

    getchar() ;
    return 0 ;
}

再比如下面的代码,类A定义了拷贝构造函数,而没有提供默认的构造函数,B继承自A,所以B在初始化时要调用A的构造函数来初始化A,而A没有默认的构造函数,故产生编译错误。


class A
{
    A(const A&){}
};

class B : public A
{
   
};

int main(void)
{
    B b; //error C2512:'B': no appropriate default constructor available

    getchar() ;
    return 0 ;
}

==


来源:网上现金棋牌游戏平台
你可能感兴趣的:
duilib入门教程 -- 界面布局
duilib入门教程 -- 完整的自绘标题栏
duilib入门教程七:XML基础类
duilib入门教程六:XML配置界面
duilib入门教程五:自绘标题栏
duilib入门教程四:响应按钮事件
duilib入门教程三:hello world
duilib入门教程二:VS环境配置
duilib入门教程一
C++ 空指针的处理方式
C++中new失败的处理
C++的new的使用
我们向您推荐的:
游戏中的情感新一代棋牌游戏设计原则
UI设计原则棋牌类网络游戏UI界面
博雅德州扑克UI设计棋牌游戏设计常用窗口风格
游戏角色概念设定游戏设计中如何构图
什么是游戏场景设计游戏场景的原则
麻将吃碰牌技巧麻将舍牌不丢张技巧
麻将留牌舍牌技巧麻将手牌排列技巧
血战到底麻将如何做牌技巧麻将如何做牌和听牌技巧
麻将实战技巧猜牌篇麻将赢牌技巧切勿过分迷恋手牌诀
麻将必赢技巧密切察视动牌与不动眼睫毛是麻将牌战中的“间谍”

德州扑克与7张梭哈

一位禅师的象棋必胜技

长沙市民教你如何健康

麻将爱情

象棋与围棋

史上最奢华的麻将牌具

如牌

聊聊斗地主
赌博的利和弊揭秘千术道具
马洪刚千术揭秘教学赌博种类
赌博文化心理什么是赌博
策略会透露信息看穿对手的策略
赌博桌上老千局赌石看蟒

百变双扣秘技双扣实战技巧
双扣五点技巧双扣打单牌技巧
双扣中如何推测对方的牌打双扣要勇于担责
双扣要总结经验双扣高手技巧
打双扣的心理因素双扣战局把握能力
棋牌游戏下载 棋牌深海捕鱼

深海捕鱼

游戏视频

棋牌游戏

经验分享

棋牌游戏攻略

斗地主

2010-2013 © 网上现金棋牌游戏平台 版权所有
增值电信业务经营许可证:粤B2-20169873-8 文网文编号:粤网文[2016]789114-088号