草庐IT

lldb_private

全部标签

C++通过访问函数返回私有(private)二维数组

我有一个C++类,它有一个函数,该函数从同一类的另一个变量中获取二维数组,以便该数组的特定实例可以访问另一个变量。有问题的变量是一个二维数组。给定下面的代码,您将如何实现访问器函数来获取私有(private)二维数组变量。我的意图是让访问器返回二维数组,但我不知道要使用哪种返回类型。int[][]、int**、int*和int不起作用。classMyClass{public://getsprivatexvariablefromanotherMyClassvariablevoidproccessVar(constMyClass&aVar){//getandprocessthe2Darra

【Java】一文彻底弄懂访问修饰符(public/protected/默认/private)--建议收藏

博主简介:努力学习的预备程序媛一枚~博主主页:@是瑶瑶子啦所属专栏:Java岛冒险记【从小白到大佬之路】前言 OOP(ObjectOrientedPrograming),即面向对象编程,最重要的功能/特点之一就是封装,这点在该专栏开篇博客【Java基础篇】Java重要特性,JDK,JRE,JVM区别和联系,环境变量就已经提到过(包括隐藏信息的好处):如何实现信息隐藏呢?Java使用了访问控制修饰符(modifiner)来实现这篇文章,我们重点学习Java中又一重要语法知识访问控制修饰符先上思维导图,看文章时,对文章讲解思路&脉络更好把握:目录前言Part1:分类Part2:可修饰对象Part3

c++ - 无法访问单例类析构函数中的私有(private)成员

我正在尝试实现这个单例类。但是我遇到了这个错误:'Singleton::~Singleton':无法访问类'Singleton'中声明的私有(private)成员这在头文件中被标记,最后一行包含右大括号。谁能帮我解释一下是什么导致了这个问题?下面是我的源代码。单例.h:classSingleton{public:staticSingleton*Instance(){if(!pInstance){if(destroyed){//throwexception}else{Create();}}returnpInstance;}private:staticvoidCreate(){static

c++ - 访问类中的私有(private)成员

我需要从DLL访问一个对象,对该对象进行一些操作并将该对象提供给另一个函数。问题是我需要更改的字段是私有(private)的。我不想改变原来类中字段的private修饰符,因为该类是很久以前写的,并且在很多地方都在使用。然而,在我操作类的地方,我需要大部分字段而没有保护(这是一个hack)。最好的方法是什么?注意:我不允许更改原来的类 最佳答案 在这种情况下,DLL中编译的内容并不重要,重要的是您包含的头文件。我建议您更改您感兴趣的类的头文件,以便您需要的变量是public。成员访问由编译器而不是链接器检查,因此重要的是类的声明方式

c++ - 如何初始化值为结构的类的私有(private)成员静态映射?

我有一个类,它的私有(private)成员是一个静态映射:ClassDevices{...private:structDevicePair{intnCtr;boolisToAdd;};DevicePairm_DevPair;staticmapm_SYSdeviceMap;};为什么我不能只在cpp文件中这样做?mapDevices::m_SYSdeviceMap;如何在cpp文件中初始化它? 最佳答案 用这一行:mapDevices::m_SYSdeviceMap;此外,作为一种良好的编码习惯,请从header中删除usingnam

c++ - 是否可以从 cpp 中定义的静态方法调用私有(private)构造函数?

一个C++n00b问题。是否可以从cpp中定义的静态方法调用私有(private)构造函数?如果可能的话,我想将方法​​保留在头文件之外——我想应该有办法做到这一点。尝试此操作时出现错误:“无法访问类SomeClass中声明的私有(private)成员”///////////////////SomeClass.h///////////////////classSomeClass{public:staticSomeClassSomeMethod();private:SomeClass(inti);}/////////////////////SomeClass.cpp///////////

c++ - 如何初始化一个私有(private)嵌套类类型的静态字段?

Outer.hpp:classOuter{classInner{Inner(){}};staticInnerinner;}Outer.cpp(在顶层,例如不在函数体内):Outer::InnerOuter::inner;我收到以下错误:errorC2248:'Outer::Inner::inner':cannotaccessprivatememberdeclaredinclass'Outer::Inner'我没有使用完全符合C++11(VisualStudio2010)的编译器,因此无法在声明时定义字段。 最佳答案 诀窍是让Oute

C++11:私有(private)成员安全

这个问题在这里已经有了答案:WhycanIuseautoonaprivatetype?(5个答案)关闭9年前。让我们考虑下一段代码:#include#include"mydemangled.hpp"usingnamespacestd;structA{private:structB{intget()const{return5;}};public:Bget()const{returnB();}};intmain(){Aa;A::Bb=a.get();cout编译器(gcc4.7.2)大声说A::B是私有(private)的。好的。所以,我更改代码:intmain(){Aa;cout它不会大

c++ - 访问 C++ 父类的私有(private)成员

不幸的是,我有一个基本的C++问题让我感到困惑。最近我看到一篇文章使用向下转换来访问类的私有(private)成员。我的问题是它为什么有效?鉴于我有一个父类P和一个类型为dummy*的私有(private)成员m_p然后使用的方法是创建一个hack类hackP,如下所示:classhackP:publicP{public:dummy*m_p;};显然可以使用如下代码片段访问classP私有(private)成员m_pPparent=...;hackP*hp=(hackP*)&parent;//accessparentm_pashp->m_p如有任何帮助,我们将不胜感激。

c++ - 专门为私有(private)类(class)的功能?

有没有办法为私有(private)类专门化一个函数(比如,std::swap)?例如,当我测试这个时:#includeclassOuter{structInner{inta;voidswap(Inner&other){usingstd::swap;swap(this->a,other.a);}};public:staticvoidtest();};namespacestd{templatevoidswap(Outer::Inner&a,Outer::Inner&b){a.swap(b);}}voidOuter::test(){usingstd::swap;Innera,b;swap(a