分类: C/C++
2009-04-30 21:30:20
#include
#include
template
class property
{
public:
property(){pThis = new C;};
~property(){delete pThis;}
T operator=(const T& t)
{
return pThis->set(t);
}
operator T()
{
return pThis->get();
}
private:
C* pThis;
};
//C#的属性
//class TimePeriod
//{
// private double seconds;
//
// public double Hours
// {
// get { return seconds / 3600; }
// set { seconds = value * 3600; }
// }
//}
//C++的模拟
struct TimePeriod
{
struct Hours
{
double get(){ return seconds / 3600; }
double set(double h){seconds = h * 3600; return h;}
private:
double seconds;
};
property
};
int main(int, char*[])
{
TimePeriod c;
c.hours = 10.1f;
double h = c.hours;
printf("%lf\n", h);
TimePeriod d, e;
d.hours = e.hours = c.hours;
printf("%lf\n", (double)d.hours);
return 0;
}