首 页 | 新 闻 | Symbian | Android| Windows Mobile | J2ME | 下载中心 | 游戏策划招聘与求职 | 购书指南 | 视频教程
您现在的位置: 开发视界 >> Symbian >> 语言基础 >> 正文
C++面向对象编程入门:C++类对象的复制-拷贝构造函数(4)
作者:管宁    文章来源:PConline    更新时间:2006-5-9 10:03:18
最后让我们来看看引用无名对象的情况。

#include <iostream>   
using namespace std;   
   
class Internet   
{   
public:   
    Internet(char *name,char *address)   
    {   
        cout<<"载入构造函数"<<endl;   
        strcpy(Internet::name,name);   
    }   
    Internet(Internet &temp)   
    {   
        cout<<"载入COPY构造函数"<<endl;   
        strcpy(Internet::name,temp.name);   
        cin.get();   
    }   
    ~Internet()   
    {   
        cout<<"载入析构函数!";   
    }   
public:   
    char name[20];   
    char address[20];   
};   
   
void main()   
{   
    Internet &a=Internet("中国软件开发实验室","www.cndev-lab.com");   
    cout<<a.name; 
    cin.get();   
}

  引用本身是对象的别名,和复制并没有关系,所以不会调用拷贝构造函数,但要注意的是,在c++看来:

Internet &a=Internet("中国软件开发实验室","www.cndev-lab.com");

  是等价与:

Internet a("中国软件开发实验室","www.cndev-lab.com");

  的,注意观察调用析构函数的位置(这种情况是在main()外调用,而无名对象本身是在main()内析构的)。

相关文章:
Symbian 真机http上传下载文件
C++基础:常量成员函数特殊说明
Python应用于Series 60平台入门——名词和缩写
函数的命名约定和内存管理学习体会
Symbian OS异常三步曲之三:两段构造
Symbian OS 错误码
描述符浅析
C++字符串类实现
 

站点地图 | 加入收藏 | 联系站长 | 广告服务 |
QQ:280529124  Tel:0592-8271361 辽ICP备05021703号