c++实例研究

从0开始

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  104 随笔 :: 0 文章 :: 20 评论 :: 0 Trackbacks

 显式就是调用构造,copy函数,隐式就是系统帮你调用,搜新婆啊。

#include <cstdlib>
#include 
<iostream>
using namespace std;

class Foo
{
public:
    
explicit Foo(int ii):i(ii){}
public:
    Foo(
const Foo &other){i=other.i;}
private:
    
int i;
public:
    
int show(){return i;}
}
;

int main()
{
    Foo tem(
20);
    Foo f 
= tem;
    cout
<<f.show()<<endl;
    system(
"PAUSE");
    
return 0;
}

显式构造,隐式copy,可运行。
#include <cstdlib>
#include 
<iostream>
using namespace std;

class Foo
{
public:
    
explicit Foo(int ii):i(ii){}
public:
    
explicit Foo(const Foo &other){i=other.i;}
private:
    
int i;
public:
    
int show(){return i;}
}
;

int main()
{
    Foo f 
= 20;
    cout
<<f.show()<<endl;
    system(
"PAUSE");
    
return 0;
}

显式构造,显式拷贝,不能运行,需要都去除explicit关键字

posted on 2010-04-26 20:38 elprup 阅读(716) 评论(0)  编辑 收藏 引用 所属分类: c++实例

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理