程序最美(寻路)

你还在坚持练习你的技术吗?运动员天天训练,音乐家也会演练更难的曲章。你呢?

类作为其自身成员函数参数时的类型

类作为其自身成员函数参数时的类型

         类作为其自身成员函数参数时可以有三种情形:

         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;
}

posted on 2013-12-06 19:32  unixfy  阅读(600)  评论(0编辑  收藏  举报

导航