| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 468 人关注过本帖
标题:找错,谢谢
取消只看楼主 加入收藏
longyou2011
Rank: 2
等 级:论坛游民
帖 子:46
专家分:19
注 册:2011-1-12
结帖率:88.24%
收藏
已结贴  问题点数:20 回复次数:2 
找错,谢谢
#include<iostream>
#include<string>
using namespace std ;
class Person
{
public :
    Person ( const Person &p ) ;
    ~Person () ;
    void setAge ( int x ) { age = x ; }
    void print () ;
private :
    char * name ;
    int age ;
} ;

Person :: Person ( const Person &p  )
{
    name = new char [ strlen ( p.name ) + 1 ] ;
    strcpy ( name , p.name ) ;
    age = p.age ;
    cout << " Copy constructor called ! " << endl ;
}
Person :: ~Person ()
{
    cout << " Destructor called ! " << endl ;
    delete name ;
}
void Person :: print () { cout << " name : " << name << " age : "<< age << endl ; }
int main ()
{
    Person p1 ( " 张三 " , 21 ) ;
    Person p2 = p1 ;
    p1.setAge (1) ;
    p2.setAge (2) ;
    p1.print () ;
    p2.print () ;
    return 0 ;
}
错在了哪里
2011-01-31 16:48
longyou2011
Rank: 2
等 级:论坛游民
帖 子:46
专家分:19
注 册:2011-1-12
收藏
得分:0 
又是。。。。。谢谢你的多次回答 ,但是用你改正后的代码执行时难道没有出现错误提示框吗? 程序只调用了一次构造函数,但调用了两次析构函数
2011-01-31 21:45
longyou2011
Rank: 2
等 级:论坛游民
帖 子:46
专家分:19
注 册:2011-1-12
收藏
得分:0 
不好意思,我搞错了。厉害厉害
2011-02-01 09:32
快速回复:找错,谢谢
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.037941 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved