花开花落,花落花开

走一步柳暗花明,退一步海阔天空

c++ const 重载 和 引用

class A
{
public:
	void foo(int &a)
	{
		cout<<"1"<<endl;
	}
	void foo(int a)
	{
		cout<<"2"<<endl;
	}

	const int fun() const// overload
	{
		cout<<"const"<<endl;
		return 1;
	}

	int fun()
	{
		cout<<"non-const"<<endl;
		return 2;
	}

	/*
	// error, is the same with 'int fun()'
	const int fun()
	{
		cout<<"test"<<endl;
	}
	*/
};

int main(int argc, char* argv[])
{
	A t;
	t.foo(1);// ok  output: 2
	int x;
	//t.foo(x);// ambigous

	x = t.fun();// non-const
	const int  y = t.fun();// non-const
	const A tt;
	tt.fun();// const
	return 0;
}


阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭