c++访问函数参数私有变量
C++ access to function argument private variable
class Container{
private:
int num_;
public:
Container(): num_(1)
{};
void add(Container other){
num_+=other.num_;
}
int get_num(){
return num_;
}
void set_num(int n){
num_=n;
}
};
在上面的例子中other。Num_是可访问的…为什么?它不应该因为私有修饰符而不可访问吗?
一个类总是可以访问它自己的成员,不管它的成员变量有什么访问修饰符。private
:只有类可以访问protected
:只有派生类可以访问public
:所有人都可以访问
如果你写:
class Container{
private:
int num_;
}
每个对象都可以访问同一类的任何其他对象的私有成员,因为在c++
中访问修饰符是针对一个类的,而不是针对该类的每个对象。
相关文章:
- 如何将C++闭包与变量参数同时重用——类似于JavaScript
- 带有整数的变量参数列表
- 转发变量参数列表以模拟 std::thread
- 存储稍后要转发的变量参数
- 包括一个类来定义全局变量参数 c++ :(
- 可变参数模板类的构造函数无法接受变量参数
- 变量参数列表 后面的'const std::string&'弄乱了堆栈
- 变量参数崩溃的 C 函数
- 如何使用变量参数化类型?C++
- 使用参数包分配具有变量参数的函数指针
- 参考变量参数与本地参考变量
- 如何以相同的方法在子类中超载的相同方法来实现工作变量参数方法
- 如何基于模板变量参数多次扩展语句
- gmock一种接受变量参数的方法
- 使用变量参数列表与向量(C )的原因
- lambda 中的变量参数作为函数指针
- C 变量参数错误
- 带有变量参数列表的c++11 lambda函数
- 变量参数
- std::函数带有C变量参数,而不是模板变量参数