两个简单有关问题~关于“类” “this”
两个简单问题~关于“类” “this”
问题见代码注释部分 谢谢
------解决方案--------------------
问题见代码注释部分 谢谢
- C/C++ code
#include <iostream>//lele using 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