c++中不同类之间的赋值(重载运算符= 即operator =)
来源:互联网 发布:软件破解器 编辑:程序博客网 时间:2024/06/06 05:01
#include <iostream.h>
#include<string.h>
class Student;
class Teacher
{public:
Teacher(){}
Teacher & operator =(Student &stud);
Teacher(int n,char nam[],char sex,float pay);
void display();
private:
int num;
char name[20];
char sex;
float pay;
};
class Student
{public:
Student(int,char[],char,float);
int get_num(){return num;}
char * get_name(){return name;}
char get_sex(){return sex;}
friend Teacher &Teacher::operator =(Student &stud);
void display()
{cout<<"num:"<<num<<"/nname:"<<name<<"/nsex:"<<sex<<"/nscore:"<<score<<"/n/n";}
private:
int num;
char name[20];
char sex;
float score;
};
Student::Student(int n,char nam[],char s,float so)
{num=n;
strcpy(name,nam);
sex=s;
score=so;
}
Teacher::Teacher(int n,char nam[],char s,float p)
{num=n;
strcpy(name,nam);
sex=s;
pay=p;
}
Teacher &Teacher::operator =(Student &stud)
{num=stud.num;
strcpy(name,stud.name);
sex=stud.sex;
pay=1500;
return *this;
}
void Teacher::display()
{cout<<"num:"<<num<<"/nname:"<<name<<"/nsex:"<<sex<<"/npay:"<<pay<<"/n/n";}
int main()
{Teacher teacher1(10001,"Li",'f',1234.5),teacher2;
Student student1(20010,"Wang",'m',89.5);
cout<<"student1:"<<endl;
student1.display();
teacher2=student1;
cout<<"teacher2:"<<endl;
teacher2.display();
return 0;
}
#include<string.h>
class Student;
class Teacher
{public:
Teacher(){}
Teacher & operator =(Student &stud);
Teacher(int n,char nam[],char sex,float pay);
void display();
private:
int num;
char name[20];
char sex;
float pay;
};
class Student
{public:
Student(int,char[],char,float);
int get_num(){return num;}
char * get_name(){return name;}
char get_sex(){return sex;}
friend Teacher &Teacher::operator =(Student &stud);
void display()
{cout<<"num:"<<num<<"/nname:"<<name<<"/nsex:"<<sex<<"/nscore:"<<score<<"/n/n";}
private:
int num;
char name[20];
char sex;
float score;
};
Student::Student(int n,char nam[],char s,float so)
{num=n;
strcpy(name,nam);
sex=s;
score=so;
}
Teacher::Teacher(int n,char nam[],char s,float p)
{num=n;
strcpy(name,nam);
sex=s;
pay=p;
}
Teacher &Teacher::operator =(Student &stud)
{num=stud.num;
strcpy(name,stud.name);
sex=stud.sex;
pay=1500;
return *this;
}
void Teacher::display()
{cout<<"num:"<<num<<"/nname:"<<name<<"/nsex:"<<sex<<"/npay:"<<pay<<"/n/n";}
int main()
{Teacher teacher1(10001,"Li",'f',1234.5),teacher2;
Student student1(20010,"Wang",'m',89.5);
cout<<"student1:"<<endl;
student1.display();
teacher2=student1;
cout<<"teacher2:"<<endl;
teacher2.display();
return 0;
}
- c++中不同类之间的赋值(重载运算符= 即operator =)
- 重载赋值运算符(operator =)及swap
- 一文说尽C++赋值运算符重载函数(operator=)
- 一文说尽C++赋值运算符重载函数(operator=)
- 一文说尽C++赋值运算符重载函数(operator=)
- 深入分析C++赋值运算符重载函数(operator=)
- 一文说尽C++赋值运算符重载函数(operator=)
- void operator=(const CClass&) 和 CClass& operator=(const CClass&)两种赋值运算符重载的区别
- C++ 重载赋值操作符operator=的高级议题
- 重载赋值操作operator=()
- C++ =赋值运算符的重载
- 赋值运算符函数 operator=
- c++中不同类之间的赋值(转换构造函数)
- 运算符重载 编程题#3(专项课程3;重载:* operator, & operator=, & operator(); 函数 memcpy 的使用)
- 讨论C++中赋值运算符(operator=)的返回值
- 重载赋值运算符=
- 运算符的重载 operator
- C++中,将class转换成函数指针(使用运算符重载实现,即operator函数)
- Learning note(3) for Windows powershell Tips
- 诗
- 用 Bleachbit 来给 Ubuntu 9.04 “减肥”
- DataReader用完后一定要关闭!
- 程序员的十层楼:大家都来测测你的技术层级
- c++中不同类之间的赋值(重载运算符= 即operator =)
- VC6.0 控件Radio Button的使用
- 在struts2中加入装饰器sitemesh
- 从公司的控件布局的实现类中学到的一点东西
- QQ聊天时如何查询对方的IP地址
- 怀念 WOW
- 女人最常问的几个问题的标准答案
- Oracle和DB2的转换 [转]
- ASP.NET网站发布问题