标题:一道类的强制类型转换题,请帮忙!operator
只看楼主
zsh0435
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2005-5-21
 问题点数:0 回复次数:5 
一道类的强制类型转换题,请帮忙!operator

#include<iostream.h> class Cat; class Person { public: int age; }; class Cat { public: int age; };

void main(void) { Person p1; p1.age=50; Cat c1; c1=p1; cout<<c1.age<<endl; } 请问如何将Person类强制转换成Cat类,使c1=p1覆值成功

搜索更多相关主题的帖子: operator 类型 
2005-05-26 23:56
当当
Rank: 1
等 级:新手上路
帖 子:235
专家分:0
注 册:2004-4-30
得分:0 
将等号重载就行了啊。
cat opeator =(Person p1)
{
         Cat temp;
         temp.age = p1.age;      
         return temp;
}


学好编程就能编出自己的未来! 加油!自信!努力!奋斗!
2005-05-27 10:26
当当
Rank: 1
等 级:新手上路
帖 子:235
专家分:0
注 册:2004-4-30
得分:0 
不知道对不对哦。

学好编程就能编出自己的未来! 加油!自信!努力!奋斗!
2005-05-27 10:26
zsh0435
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2005-5-21
得分:0 

谢谢楼上的兄台。我已经搞定了 #include<iostream.h> class Cat { public: int age; /*operator =(Person p) { age=p.age; }*/ Cat(int age) { this->age=age; } }; class Person { public: int age; Person(int age) { this->age=age; } operator Cat() { return Cat(this->age); }

}; void main(void) { Person p1(20); Cat c1(10); c1=p1;//1> c1=(Cat)p1; 2> c1=p1 cout<<c1.age<<endl; }


人生就是一个程序! 人降生到这个世间就是主函数的开始。 我们生活中的每个部分都是程序中的一段代码。 在调用不同的函数。
2005-05-27 17:36
当当
Rank: 1
等 级:新手上路
帖 子:235
专家分:0
注 册:2004-4-30
得分:0 

#include<iostream.h> class Cat; class Person { public: int age; };

class Cat { public: int age; Cat &operator =(Person p1) { Cat temp; temp.age = p1.age; return temp; } };

void main() { Person p1; Cat c1; p1.age = 50; c1=p1; cout<<c1.age<<endl; } 我用c free 3.5 结果为575,怪怪


学好编程就能编出自己的未来! 加油!自信!努力!奋斗!
2005-06-03 21:18
zhou
Rank: 1
等 级:禁止发言
帖 子:429
专家分:0
注 册:2006-6-16
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2008-03-30 11:39



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-19416-1-1.html




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

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