草庐IT

big_class

全部标签

C++ : How to ensure that a class member variable is modifiable only within a certain method

我在MacOSSierra上使用带有clang的C++14。我想通过设计来执行规则。以下是规则。我的类中有一个成员变量说:unsignedintm_important_num;我的类中有4个方法。fun1();fun2();fun3();fun4();目标:我只希望fun2()能够更改m_important_num的值。问题:如果fun2()以外的任何方法更改变量,是否有可能使其成为编译器错误?一种可能的方法是将其声明为const以某种方式授权fun2()更改const变量?这是一个好的解决方案吗?或者他们有更好的解决方案吗?次要问题:尝试做这样的事情是错误的设计吗?

c++ - 同一个类(class),不同的尺寸......?

看代码,你就明白我的困惑了。测试.hclassTest{public:#ifndefHIDE_VARIABLEintm_Test[10];#endif};啊啊啊classTest;intGetSizeA();Test*GetNewTestA();Aho.cpp//#defineHIDE_VARIABLE#include"Test.h"#include"Aho.h"intGetSizeA(){returnsizeof(Test);}Test*GetNewTestA(){returnnewTest();}Bho.hclassTest;intGetSizeB();Test*GetNewTes

c++ - 我们应该在何时、何地以及为什么使用 "BigObject&& rv = std::move(big_obj);"?

我的编译器是最新的VC++2013预览版。#includestructBigObject{...};voidf(BigObject&&){}voidf(BigObject&){}voidf(BigObject){}intmain(){BigObjectbig_obj;BigObject&r1=big_obj;//OK.BigObject&&r2=big_obj;//errorC2440BigObject&&r3=std::move(big_obj);//OK.BigObject&&r4=r3;//errorC2440f(r3);//errorC2668:'f':ambiguouscal

c++ - <function> 不是 <class> 的成员

我已将我的函数“Credit”声明为带有一些参数的私有(private)成员。我的观察是,每当我尝试不带任何参数进行编译时,编译器都会成功编译。但是一旦我用函数中的参数进行编译,编译器就会报错'Transaction::Credit'isnotamemberof'Transaction'这是我的代码classTransaction:publicMenu{private:voidCredit(intdepost);//{return0;}public:voidDeposit();voidWithdraw(){}voidTransfer(){}};voidTransaction::Depo

添加ng class的课程单击孩子的父母

我有以下问题。我需要设置active与父母的课div从ChildDiv点击,该父母内部。为了说明我将提供一个代码。并省略它的一部分以确保可读性。html...SelectCSS.selected{border:2pxsolid#ffbe10;}.selected-cta{background-color:#ffbe10;}如你所见,我有offer__container获取一些数据并进行NG重复,我需要能够点击offer__container__cta添加active样式对父容器的样式,并跟踪,就像我单击另一个div通过NG重复渲染,应采用主动样式并将其转移到该div。最好还是想设置某些样式of

c++ - Uncrustify 在 Class::method 处破坏代码

我正在尝试使用Uncrustify,但在xcode中工作时所有配置都破坏了我的代码std::vectora;成为std::vectora;有没有办法防止这种情况发生,使::保持在一起 最佳答案 此错误的原因是Uncrustify参数中的语言设置错误。将-lOC更改为-lCPP解决了问题 关于c++-Uncrustify在Class::method处破坏代码,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co

警告:指定的串行端口在第127行上的php_serial.class.php中无效

我试图使用PHP与串行端口进行通信,我的代码是,deviceSet("COM1");$serial->confBaudRate(2400);$serial->confParity("none");$serial->confCharacterLength(8);$serial->confStopBits(1);$serial->confFlowControl("none");$serial->deviceOpen();$serial->sendMessage("Hello!");$read=$serial->readPort();$serial->deviceClose();$serial->c

c++ - VC++ 警告 C4356 : static data member cannot be initialized via derived class

以下代码发出此警告,但它似乎工作正常,因为A::st和B::st都已初始化并且实际上代表相同的字符串。据我了解,这是格式错误的代码,不应编译(我检查了clang)。我想知道为什么VC++不发出错误而是发出警告?#include#includeclassA{public:staticconststd::stringst;};classB:publicA{};conststd::stringB::st="abcd";//warningC4356:'A::st':staticdatamembercannotbeinitializedviaderivedclassintmain(){std::

c++ - 对类型的非常量左值引用 - 使用 Class 类型的参数时 Objective-C++ 包装器中的错误

我有两个用Objective-C++编写的包装器类,用于它们等效的C++类。我们称它们为OABCClass和OXYZCallbackInterface。现在我在C++(ABCClass)中有一个方法,其中一个参数是一个接口(interface)-XYZCallbackInterface。例如:std::stringmethodWithArguments(std::stringreq,CommonNamespace::XYZCallbackInterface&callback);在我的Objective-C++包装器类中,即OABCClass我对上述C++方法的方法实现如下所示:-(NS

c++ - C++ 中的继承 : define variables in parent-child classes

问题我正在寻找在父子类中定义变量的最佳方法,以便通过指向其父类的指针进行调用。这是协议(protocol):classBase{public:virtualvoidfunction()=0;};classA:publicBase{public:inta,b;A(inta_,intb_):a(a_),b(b_){};voidfunction(){//dosomething..}};classB:publicBase{public:inta,b;B(inta_,intb_):a(a_),b(b_){};voidfunction(){//dosomething..}};Base*elemen