谁能给解释一下:
class Vehicle
{
public:
Vehicle(float speed,int total)
{
Vehicle::speed=speed; //这里的::是什么意思
Vehicle::total=total;
}
void ShowMember()
{
cout<<speed<<"|"<<total<<endl; //还有这里的“|”的意思
}
protected:
float speed;
int total;
};
class Car:public Vehicle
{
public:
Car(int aird,float speed,int total):Vehicle(speed,total)
{
Car::aird=aird;
}
void ShowMember()
{
cout<<speed<<"|"<<total<<"|"<<aird<<endl;
}
protected:
int aird;
};
void main()
{
Vehicle a(120,4);
a.ShowMember();
Car b(180,110,4);
b.ShowMember();
cin.get();
}
问题点数:20、回复次数:9Top
1 楼zhousqy(标准C匪徒)(甩拉,甩拉)回复于 2005-05-09 21:47:32 得分 8
Vehicle::speed=speed; //这里的::是什么意思
---------
没看到构造函数里这么写的,::是作用域运算符Top
2 楼zhousqy(标准C匪徒)(甩拉,甩拉)回复于 2005-05-09 21:48:22 得分 5
cout<<speed<<"|"<<total<<endl; //还有这里的“|”的意思
---------
只是打印'|'嘛Top
3 楼umbrella1984(雨伞(KEN))回复于 2005-05-09 23:00:20 得分 3
::是作用域,楼主没看书吧?Top
4 楼qhfu(改个名字)回复于 2005-05-09 23:29:02 得分 1
呵呵,建议写程序之前先把书看一下。Top
5 楼ewayne(...)回复于 2005-05-09 23:45:55 得分 1
前面是域作用符,是对有相同名称但不属于同一类的变量或函数区分用的!~
后面当然是直接输出符号了!Top
6 楼tsocpp(小黑子)回复于 2005-05-09 23:47:19 得分 1
Vehicle::speed=speed; //这里的::是什么意思
::是作用域运算符,因为构造函数的两个形参名和类Vehicle的两个私有变量名speed和total的名字相同,所以用了作用域运算符以示区别,说明第一个speed是类Vehicle里的私有变量,而赋值号后面的speed是形参。
cout<<speed<<"|"<<total<<endl; //还有这里的“|”的意思
这里只是打印“|”这个符号啊,也就是一个分隔符。比如说speed=20,total=50的话,那么上面这条打印语句的输出结果就是 20|50
Top
7 楼guofu_x(蝈蝈)回复于 2005-05-09 23:53:30 得分 0
呵呵,是啊,要看一点书Top
8 楼guofu_x(蝈蝈)回复于 2005-05-09 23:55:02 得分 1
Vehicle::speed=speed
tsocpp(小黑子)
说的非常好
cout<<speed<<"|"<<total<<endl;
是为了显示才写这个的,直观Top
9 楼whclc918(无知四年的人)回复于 2005-05-10 15:16:19 得分 0
我是看书上怎么写就有一些不明白就问一下.Top




