注册 登录
编程论坛 C++教室

关于类的问题

XIAO荣 发布于 2009-08-14 15:57, 334 次点击
在下面的代码中。。。打了注释符的。。。请帮忙解释下,谢谢。

#include<iostream.h>
class distance
{
    int mile,yard;
public:
    distance();
    distance(int,int);
    void get_value();
    distance add_value(distance);//这里定义的是函数么?可以这样定义的么?就是说,中间可以有空格么?
    void display();
};
distance::distance()
{
    mile=0;
    yard=0;
}
distance::distance(int v1,int v2)
{
    mile=v1;
    yard=v2;
}
void distance::get_value()
{
    cout<<"Enter mile:";
    cin>>mile;
    cout<<"Enter yard:";
    cin>>yard;
}
distance distance::add_value(distance A)//这里也不大明白,是类中函数的定义么?为什么不是distance::distance add_value(distance A)。
{
    distance B;
    B.yard=yard+A.yard;
    B.mile=0;
    if(B.yard>=1760)
    {
        B.mile=1;
        B.yard-=1760;
    }
    B.mile+=mile+A.mile;
    return B;
}
void distance::display()
{
    cout<<mile<<"miles"<<yard<<"yaeds"<<endl;
}
void main()
{
    distance D(10,100);
    distance F,G;
    F.get_value();
    G=D.add_value(F);
    cout<<"The first distance:";
    D.display();
    cout<<"The second distance:";
    F.display();
    cout<<"The third distance:";
    G.display();
}
2 回复
#2
xufen3402009-08-14 16:15
建议看看函数一章,不要跳过前面的章节
#3
zinc2009-08-14 20:06
distance add_value(distance);//这里定义的是函数么?可以这样定义的么?就是说,中间可以有空格么?
类名 函数名(参数列表);
类也是一种类型,像int一样可以定义函数吧,这里应该算返回类型。一个个分开当然有空格啊!


distance distance::add_value(distance A)//这里也不大明白,是类中函数的定义么?为什么不是distance::distance add_value(distance A)。
返回类型 类名::函数名(参数列表){ }
这样应该可以理解了吧??

就像void distance::get_value()一样的。
1