C++ private成员变量作用域的扩展
2015-02-27 12:14
399 查看
先上代码:
template<class T>
class myclass
{
private:
T value;
public:
void assign(const myclass<T>& x)
{
value=x.value;
cout<<value<<endl;
}
};
这里value是一个private变量,在assign函数中传递了一个myclass的参数x,并使用了x的value。注意value是一个私有的成员变量,然而这样使用却没有报错。原因是:在myclass中,value对assign是可见的,即value在assign的作用域内,所以作为参数传递过来的x的value对assign也是可见的,所以这样用不会报错。
template<class T>
class myclass
{
private:
T value;
public:
void assign(const myclass<T>& x)
{
value=x.value;
cout<<value<<endl;
}
};
这里value是一个private变量,在assign函数中传递了一个myclass的参数x,并使用了x的value。注意value是一个私有的成员变量,然而这样使用却没有报错。原因是:在myclass中,value对assign是可见的,即value在assign的作用域内,所以作为参数传递过来的x的value对assign也是可见的,所以这样用不会报错。
相关文章推荐
- 读书笔记_Effective_C++_条款二十二:将成员变量声明为private
- c++ public, protected, private成员变量,成员函数继承和访问规则实例代码
- Effective C++——》条款22:将成员变量声明为private
- C++中成员变量默认private
- C++之将成员变量声明为private(22)---《Effective C++》
- PHP成员变量作用域的限制-private
- c++访问私有(private)成员变量的常用方法
- C++ 将成员变量声明为private
- Effective C++ rule 22.类成员变量尽量声明为private
- Effective C++ Item 22 将成员变量声明为private
- C++中设置成员变量为private
- C/C++基础之:类成员变量的修饰public/private/protected的区别
- 将成员变量声明为private和用非成员、非友友提高封装性(Effective C++_22、23))
- Item1:Declare data members private--将所有成员变量声明为private
- [C++] 变量存储区域及其作用域【转】
- 条款22:将成员变量声明为private
- c++ 变量声明: 成员函数指针 成员变量指针
- C++中变量的作用域与生命周期
- 成员变量和局部变量同名 / 局部变量的作用域最小化
- c++成员变量初始化问题