草庐IT

Private_dirty

全部标签

c++ - 如何隐藏类的私有(private)成员?

我使用visualstudio已经有一段时间了,每次使用类时它都会让我很烦。问题是,当我创建一个类的对象时,我倾向于看到属于该类的私有(private)成员,但我不想看到,因为如果我创建一个具有10+个私有(private)变量的类,那将是一场噩梦,一定有办法隐藏私有(private)成员,如果有办法可以分享给我吗?谢谢:)编辑:这是一张图片,可以帮助您理解我在说什么,例如,这里我有2个LinkedList类的私有(private)变量(curSize和head),我无法从main中更改它们,所以看不到它们(是吗?)如何在不更改代码的情况下隐藏它们?VisualStudio中是否有相应

c++ - 我必须在类的头文件中提及私有(private)方法吗?

现在我根本不使用头文件。每个类都完全在一个.cpp文件中。但是为了节省编译时间,我现在想使用头文件。我希望VisualStudio不会编译当时未针对调试版本修改的类。有没有办法在头文件中只提及公共(public)方法和成员。从理论上讲,这对编译器来说已经足够了。如果另一个文件,例如main.cpp包含类头,则不需要私有(private)方法和成员,对吗?如何在不重新键入私有(private)方法和成员的名称的情况下使用头文件?我想要这样的原因是编码效率。当我想向另一个方法使用的类添加一个小的辅助函数时,我不想将它的签名也添加到头文件中。 最佳答案

C++ - 类中的私有(private)变量

我正在尝试使用私有(private)变量在单独的文件中创建一个类。到目前为止,我的类(class)代码是:在TestClass.h中#ifndefTESTCLASS_H#defineTESTCLASS_H#includeusingnamespacestd;classTestClass{private:stringhi;public:TestClass(stringx);voidset(stringx);voidprint(intx);};#endif在TestClass.cpp中#include"TestClass.h"#include#includeusingnamespacestd

c++ - 有什么办法可以访问类的私有(private)成员变量吗?

有什么方法可以访问类的私有(private)成员变量吗?编辑:不是来自成员函数或友元函数,而是通过实例。 最佳答案 GotW#76有关于如何做这些事情的迷人的语言律师细节。:-) 关于c++-有什么办法可以访问类的私有(private)成员变量吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2219872/

c++ - 为什么派生类要继承基类的私有(private)成员?

这个问题在这里已经有了答案:DoSub-ClassesReallyInheritPrivateMemberVariables?(7个答案)关闭5年前。我知道派生类不能访问基类的私有(private)成员,那派生类为什么要继承基类的私有(private)成员呢?有没有用处?谢谢!

c++ - 为什么我可以在私有(private)类型上使用 auto?

令我惊讶的是,以下代码可以编译并运行(vc2012和gcc4.7.2)classFoo{structBar{inti;};public:BarBaz(){returnBar();}};intmain(){Foof;//Foo::Barb=f.Baz();//errorautob=f.Baz();//okstd::cout这段代码编译正常是否正确?为什么它是正确的?为什么我可以在私有(private)类型上使用auto,而我不能使用它的名称(如预期的那样)? 最佳答案 auto的规则在很大程度上与模板类型推导相同。发布的示例的工作原理

c++ - clang:存在公共(public)虚拟继承时无法转换为私有(private)基础

我正在尝试编译以下代码(有点小的示例),文件test.cpp:#include#includeclassShared:publicstd::enable_shared_from_this{public:intprea;};classWidget:publicvirtualShared{inta;public:~Widget(){a=7;}};classContainer:virtualpublicWidget{};classList:privateContainer,virtualpublicWidget{public:intc;};intmain(intargc,char**argv

c++ - 将私有(private)库静态链接到公共(public)库以隐藏符号

关闭。这个问题需要更多focused.它目前不接受答案。想改善这个问题吗?更新问题,使其仅关注一个问题editingthispost.2年前关闭。Improvethisquestion考虑以下:我正在用C++开发一个静态库X,它在内部使用著名的静态库Yv2.0;我只想分发一个库X',即X和Y静态链接/合并以供内部使用;开发人员想在他的可执行文件中使用X';此外,他需要Yv1.0(不是v2.0,就像我一样);Yv1.0和v2.0有一些共同的符号,其中一些共同符号的行为也不同。我开发X时严格要求将Yv2.0用于某些内部业务。这就是说我无论如何都不能恢复到Yv1.0。另一方面,开发者对使用Y

c++ - 派生类析构函数如何在以下程序中被调用为私有(private)的?

#includeclassbase{public:virtual~base(){std::cout上面的程序可以正常编译和运行。派生类析构函数如何被调用为私有(private)的? 最佳答案 这不仅会发生在析构函数中。您可以用私有(private)函数覆盖任何虚拟公共(public)函数。#includeclassbase{public:virtualvoidx(){std::coutx();//OK//((derived*)pt)->x();//error:‘virtualvoidderived::x()’isprivateder

c++ - 如何在 UML 类图中显示私有(private)继承关系

在C++中,由于私有(private)继承不被视为is-a关系,它应该如何在类图中显示以及是否显示为has-a关系那么如何区分组合和私有(private)继承呢? 最佳答案 应该是Composition关系(子类这边的实心黑菱形),因为:私有(private)继承的意思是“根据……实现”,但在这方面,它可以简单地视为“具有”关系。子类的实例明确拥有对象的基类部分,并且所有权不与任何其他对象共享。 关于c++-如何在UML类图中显示私有(private)继承关系,我们在StackOverf