类作为其自身成员函数参数时的类型
类作为其自身成员函数参数时的类型
类作为其自身成员函数参数时可以有三种情形:
1.引用,包含const和非const引用
2.指针
3.值类型
在做类内部的成员函数参数时,编译器允许使用值类型,也就是说这时类已定义完毕。
对于其他类,如果只有声明没有定义,那么只能是引用和指针类型。
代码如下:
#include <iostream> using namespace std; class T { private: int n; public: T(); T(int); T(int, T); // 这里参数的类型可以是类自身的值类型,不仅仅是引用或指针类型 //T(int, const T&) ~T(); int val() const; void val(int k); void print() const; }; T::T() : n(1) {} T::T(int k) : n(k) {} T::T(int k, T t) : n(k + t.val()) {} //T::T(int k, const T& t) : n(k + t.val()) {} T::~T() {} int T::val() const { return n; } void T::val(int k) { n = k; } void T::print() const { cout << n << endl; } int main() { T t1; t1.print(); T t2(5); t2.print(); T t3(3, t2); t3.print(); return 0; }
(完)
文档信息
·版权声明:自由转载-非商用-非衍生-保持署名 | Creative Commons BY-NC-ND 3.0
·博客地址:http://www.cnblogs.com/unixfy
·博客作者:unixfy
·作者邮箱:goonyangxiaofang(AT)163.com
·如果你觉得本博文的内容对你有价值,欢迎对博主 小额赞助支持