读书人

两个简单有关问题~关于“类” “this

发布时间: 2012-03-19 22:03:04 作者: rapoo

两个简单问题~关于“类” “this”
问题见代码注释部分 谢谢

C/C++ code
#include <iostream>//leleusing namespace std;class A{    private:        int val;//比值对象    public:        void voluation()            {                 cin>>val;//已经知道构造函数赋值更好,这里还这么写一下~            }        A & top(A& v ) /*函数原型 语法高亮后显示它并没有变成函数……(或者说和下面的定义不匹配 为什么呢)*/            {                if(v.val > this->val) return v;                 else return *this;            }    const A& A::top (const A& v )const //函数定义         {            if(v.val >this->val) return v; else return *this;         }};int main(){A a;a.voluation();A b;b.voluation();a.top(b);//本来使用引用是为了方便后续步骤 但是我发现我不知道如何打印出 top函数返回的引用


[解决办法]
C/C++ code
#include <iostream>using namespace std;class A{private:    int val;public:    void valuation() const    {        cout << val;    }    const A & top(const A &v) const    {        return v.val > val ? v : *this;    }};int main(){    A a, b;    a.valuation();    b.valuation();    a.top(b).valuation(); // a.top(b)的结果是个A对象可以直接调用成员函数}
[解决办法]
C/C++ code
A &ret = a.top(b);ret.valuation();
[解决办法]
你想打印一个指针是吧?
可以使用%p,使用printf,或者scanf

读书人网 >C++

热点推荐