C++ primer 基础问题
#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
型的变量?
}