- 论坛徽章:
- 0
|
回复 53# 三月廿七 - // binary expression
- class expression_binary : public language_expression
- {
- public:
- expression_binary() : _lhs(0), _rhs(0) {}
- expression_binary(user_string op, language_expression *lhs, language_expression *rhs)
- : _operator(op), _lhs(lhs), _rhs(rhs)
- {}
- MAKE_QUERY_FUNC_ABS(expression_binary, language_expression);
- virtual language_type *get_expression_type();
- virtual bool type_recheck();
- virtual const tstring get_print_name() const;
- language_expression * _lhs, *_rhs;
- user_string _operator;
- };
复制代码 手头正在写的代码,所有成员全部公开,无需geter/seter,因为下面三个原因:
1. 他们可以是任意值(野指针除外,由于使用object pool,所以保证不会有野指针)
2. 即便隐藏起来提供geter/seter,最终还是在任何时候都要check。不如不隐藏,随便用。
3. 一般使用都是通过基类language_expression,这已经是一种隐藏了。 |
|