[EffectiveC++]导读 default构造函数

class B
{
public:
    explicit B(int x = 0,bool b = true); //default构造函数    

};

 explicit可以阻止用来执行隐式类型转换,但是可以用来进行显式类型转换。

void doSomething (B bObject);

doSometing(B(28));//使用B的构造函数将int显式转换(cast)为一个B以促成此一调用

 copy构造函数被用来“以同型对象初始化自我对象”,copy assignment操作符被用来“从另一个同型对象中拷贝其值到自我对象。”

 

声明式(declaration)是告诉编译器某个东西的名称和类型(type),但略去细节。

如:

extern int x;//object 声明式

std::size_t numDigits(int number);//function声明式

class Widget;//class

 

template<typename T>

class GraphNode;//template 声明式

 

每个函数的声明揭示其签名式(signature),也就是参数和返回类型。一个函数的签名等同于该函数的类型。numDigits函数的签名是std::size_t (int).c++对签名式的官方定义是并不包含函数的返回类型。

 

定义式(definition)任务是提供编译器一些声明式所遗漏的细节。对对象而言,定义式是编译器为此对象拨发内存的地点。对function \function template而言,定义式提供了代码本体。对class或class template而言,定义式列出他们的成员。

 

 

 

 

转载于:https://www.cnblogs.com/jeanschen/p/3214603.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值