草庐IT

private_count

全部标签

c++ - 实例化模板时无法访问在类错误中声明的私有(private)成员

我的代码如下templateclassname{public:name():h_(0){}templateoperatorname(){nameu;u.h_=h_;returnu;}private:inth_;};intmain(void){namea;nameb=a;return0;}我得到的错误是intname::h_isprivate.如何修复错误? 最佳答案 name和name是不同的实例化,因此实际上是不同的类。默认情况下不能共享它们的私有(private)成员。你需要制作name所有其他人的friendname的。tem

c++ - 这个私有(private)变量 "not declared in this scope"怎么样?

我目前正在尝试学习更多有关C++面向对象设计的知识(熟悉Java),但遇到了一些困难。我试图将这个项目放在一起,以在使用SFML构建图形和音频的游戏中学习这些原则。我有以下两个文件。WorldObject.h#ifndefWORLDOBJECT_H#defineWORLDOBJECT_H#include#include#include"ImageManager.h"classWorldObject{private:sf::Sprite_sprite;voidSetImagePath(std::stringpath);sf::SpriteGetGraphic();};#endif世界对象

c++ - 为什么 C++ 编译器不区分同名的继承公共(public)方法和继承私有(private)方法?

我很困惑为什么C++编译器不接受这个:classFoo{private:voidBaz(){}};classBar{public:voidBaz(){};classFooBar:publicFoo,publicBar{};voidmain(){FooBarfb;fb.Baz();}gcc给出的错误是:requestformember‘Baz’isambiguouscandidatesare:voidBar::Baz()voidFoo::Baz()但是我想要Bar::Baz()不是很明显吗,因为Foo::Baz()是私有(private)的?为什么编译器不会在这里消除歧义?

c++ - 有没有简单的方法来公开私有(private)父类 C++ 的方法

有没有办法直接暴露私有(private)父类的一些方法。在下面的示例中,如果我有一个Child类型的对象,我希望能够直接调用其父对象的方法a(),而不是b();当前的解决方案会生成大量样板代码,尤其是在存在大量参数的情况下。classParent{public:voida(intp1,doublep2,intp3,std::vector&p4);voidb();};classChild:privateParent{public:voida(intp1,doublep2,intp3,std::vector&p4){Parent::a(p1,p2,p3,p4);}};

C++ 对象 - Private int 返回奇怪的值

我一直在自学C++,并开始创建一个列表管理器来研究指针的概念。我定义了一个名为List的类,它具有三个属性:intitemTotal;Item*firstItem;Item*lastItem;构造函数将它们的值设置为:itemTotal=0;firstItem=NULL;lastItem=NULL;我构建了一个函数来返回itemTotal的值:intList::getItemTotal(){returnitemTotal;}在我的驱动程序中构建对象后,itemTotal立即开始表现得很有趣并返回非常大的数字(每次都是-858993460),即使列表上没有完成任何工作并且程序中几乎没有发

面试官:请说一下Mysql中count(1)、count(*)以及count(列)的区别?

近期在Review项目代码时,发现同事们在查询MySQL行数时存在多样的方式,有的使用COUNT(1),有的用COUNT(id),还有人选择了COUNT(*)。这混杂的选择引发了我的思考。当然这三种count的方式也是众说纷纭,其中最大的分歧点就是COUNT(*)和COUNT(1)查询性能上,有人觉得COUNT(*)需要转换为COUNT(1),所以COUNT(1)得速度更快。究竟这三种计数方式之间有何区别,它们的背后原理是怎样的呢?COUNT()含义在《高性能Mysql》一书第236页中是这么解释COUNT的作用的:COUNT()是一个特殊的函数,有两种非常不同的作用:它可以统计某个列值的数量

c++ - 复制构造函数应该是私有(private)的还是公共(public)的

我正在编写一个抽象类,它将成为其他几个类的父类。我认为应该将复制构造函数设为私有(private),因为您使用的是抽象类,没有什么可复制的。但是,我不是100%肯定。我说的对吗?如果不对,为什么要公开或保护它? 最佳答案 如果您不想复制类的对象,则复制构造函数应该是私有(private)的。否则,它应该是公开的。 关于c++-复制构造函数应该是私有(private)的还是公共(public)的,我们在StackOverflow上找到一个类似的问题: https

c++ - std::unique_ptr 编译器错误:派生类的成员无法访问基类的私有(private)成员

我得到CompilerErrorC2248当我尝试编译以下代码时:#include#includeusingnamespacestd;classdata{public:staticdataparse(){datad;data::parse(d);returnd;}list>l;private:staticvoidparse(data&node){}};intmain(){return0;}为什么?我该如何解决这个问题?注意:我使用std::shared_ptr而不是std::unique_ptr没有问题。 最佳答案 您需要为您的类型

c++ - OpenMP 中的预分配私有(private) std::vector 在 C++ 中并行化 for 循环

我打算使用缓冲区std::vectorbuffer(100),一个循环的并行化中的每个线程中的一个,正如这段代码所建议的:std::vectorbuffer(100);#pragmaompparallelforprivate(buffer)for(size_tj=0;j此代码无效。尽管每个线程都有一个缓冲区,但它们的大小可以为0。如何在每个线程的开头分配缓冲区?我还能用吗#pragmaompparallelfor?我可以做得比这更优雅吗:std::vectorbuffer;#pragmaompparallelforprivate(buffer)for(size_tj=0;j

c++ - 具有所有私有(private)成员的类可以是 POD 类吗?

我之前听说POD类型不能有私有(private)数据——但根据C++0x草案,我的要求更宽松(强调我的):hasthesameaccesscontrol(Clause11)forallnon-staticdatamembers这似乎表明只要私有(private)数据都是私有(private)的就可以。我没有C++03的拷贝,但要检查...那么,WindowsApi::Uuid会是一个POD类吗?namespaceWindowsApi{classUuid{union{::UUIDasUuid;//Win32'sUUIDstructunsigned__int64asInt64s[2];un