#ifndef __SI_H__
#define __SI_H__
class smallint
{
public:
friend operator+ (const smallint &,int);
friend operator- (const smallint &,int);
friend operator+ (int, const smallint &);
friend operator- (int, const smallint &);
public:
smallint(int ival):value(ival){};
operator+ (const smallint &);
operator- (const smallint &);
operator int(){ return value;} int getvaule(){return value;}private:
int value;
};
//main.cpp
smallint si(2);
main()
{
si + 10.2;//为什么这里编译不通过?书上可以的啊?
int iii = si //为什么这里可以将一个类赋值给一个int
型的变量?}
#define __SI_H__
class smallint
{
public:
friend operator+ (const smallint &,int);
friend operator- (const smallint &,int);
friend operator+ (int, const smallint &);
friend operator- (int, const smallint &);
public:
smallint(int ival):value(ival){};
operator+ (const smallint &);
operator- (const smallint &);
operator int(){ return value;} int getvaule(){return value;}private:
int value;
};
//main.cpp
smallint si(2);
main()
{
si + 10.2;//为什么这里编译不通过?书上可以的啊?
int iii = si //为什么这里可以将一个类赋值给一个int
型的变量?}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货