using namespace std
class trip
{
int x,y,z
public:
trip(){
}
trip(int x,int y,int z)
{
this->x=x
this->y=y
this->z=z
}
trip operator +(const trip&t)
{
trip temp
temp.x=this->巧轿x+t.x
temp.y=this->y+t.y
temp.z=this->z+t.z
return temp
}
int operator*(const trip&t)
{
return this->x*t.x+this->y*t.y+this->z*t.z
}
friend ostream&operator<<(ostream&out,const trip&t)
{
out<<"和实:("<<t.x<<"磨正,"<<t.y<<","<<t.z<<")"<<瞎宽悔endl
}
}
int main()
{
trip t1(1,1,1),t2(2,2,2)
trip t=t1+t2
cout<<t<<endl
cout<<"乘积是:"<<t1*t2<<endl
return 0
}
先不要管第一个struct里面的ElemType。首先,为什么要有typedef呢?
比携纳如说你正在定义函数:
unsigned short int PrintData()
有的编译器就会提示你PrintData()前面的东西太长。
这时,我们就可以用typedef来“偷天换日”:
typedef unsigned short int Data
Data PrintData()
这就可以编译通过。
也就是,上面的程序其实可以改成这样:
struct Triple
{
int i,j
ElemType e
}
struct TSMatrix
{
Triple data[MAXSIZE +1]
int mu,nu,tu
}
也就是,我们首先定义一个“箱子”:Triple。
在这个箱子里面有i,j两个整型变量
还有一个ElemType类型的e。
再把Triple作为一个“典范”,我们就可以把Triple看做和int,double之类的一样的修饰语。例如,我们可以这知庆么定义:
int main()
{
Triple t
……
}
然后,也可以把triple定辩猛没义在结构体里面。
访问结构体的方式是“.” *** 作符。
例如:
int main()
{
Triple t
scanf("%d %d",&t.i,t.j)
printf("%d %d",t.i,t.j)
……
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)