#include "iostream"
using namespace std;
//C++如果被更大的的数转换为更小的数可能会被截断导致损失精度
//int side=3.33 Double类型转化为int 3
//自定义类型转换
class mystring //自定义的字符串类。
{
public:
char * ptr;
};
class CGgirl //构建超女类
{
public:
int m_bianhao;//编号
string m_name;//姓名
double m_weight;//体重
//默认构造函数。
CGgirl(){
m_bianhao=0;
m_name.clear();
m_weight=0;
cout <<"调用了CGgirl()\n";
}
//自我介绍的方法。
void show(){
cout<<"编号="<<m_bianhao<<",姓名="<<m_name<<",体重="<<m_weight<<endl;
}
//加上explicit关键字就不可以隐式自动转换了,
explicit CGgirl(int bh){
m_bianhao=bh;m_name.clear();m_weight=0;
cout <<"调用了CGgirl(int bh)\n";
}
CGgirl(double weight){
m_bianhao=0;m_name.clear();m_weight=weight;
cout <<"调用了CGgirl(double weight)\n";
}
};
CGgirl fun(){
char c=8;
return c;
}
int main(){
string s1="我是一只傻傻鸟。";
// CGgirl g1(8);//常见写法
// CGgirl g1=CGgirl(8);//显示转换。
// CGgirl g1=8;//隐式转换。
// CGgirl g1;//创建对象。
// g1=8;//用CGgirl(8)创建临时对象,再赋值给g。
fun();
}
输出:调用了CGgirl(double weight)
发表回复