草庐IT

cout_member

全部标签

c++ - 在继承 : Can I override base class data members?

假设我有如下两个类:ClassA{public:..private:intlength;}ClassB:publicClassA{public:..private:floatlength;}我想知道的是:是否允许覆盖基类数据成员?如果是,这是一种好的做法吗?如果不是,扩展类数据成员类型的最佳方法是什么?有一个类满足了我的需求,我想重用它。但是为了我的程序需要,它的数据成员应该是另一种类型。我有一些书,但它们都只涉及重写基类成员方法。 最佳答案 您可以使用模板化成员,即通用成员,而不是覆盖成员。您还可以声明一个类似union的VARI

C++ Linux : error: ‘move’ is not a member of ‘std’ how to get around it?

所以在我的VS2010上我可以编译如下代码:boost::shared_ptrinternal_thread;boost::packaged_taskinternal_task_w(boost::bind(&thread_pool::internal_run,this,internal_thread));internal_thread=boost::shared_ptr(newboost::thread(std::move(internal_task_w)));前两行在boost1.47.0和linux上没问题...但是在std::move上它给出了error:‘move’isnota

请C++ cout输出解释

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:whyisinitializinganintegerinVC++to010differentfrominitialisingitto10?这让我很困惑,我希望你们中的一个能回答我的问题。为什么这段代码会产生输出“116”?#includeintmain(){std::cout代码已在MacOSX下使用MSVC++2010和g++编译。“cout”可以单独打印“0”和“164”,但只要“0”是数字中的第一个数字,输出就会改变。

c++ - 错误 : request for member '..' in 'this' , 是非类类型 '--* const'

这是我的第一个问题。请原谅,我刚刚进入C++并开始使用DS。堆叠!!!我的代码:我认为usingnamespacestd;typedefcharstackElement;classStack{public:stackElement*contents;//dynamicallyallocated:aswedonotknowwhatwouldbethesizeofourarray.inttop,maxSize;//currentTopindexinthearray//maxsizeofthearray;weneedittoknowifthearrayisfullStack(intmaxSi

c++ - + 运算符在 cout 中做什么?

在下面的代码中,我感到困惑并在应该是的地方添加了一个+#include#include"Ship.h"usingnamespacestd;intmain(){cout应该是cout输出的错误代码:Helloworld!Stillgoodos::clear我不明白的是为什么编译器没有捕获到任何错误以及os::clear是什么意思?还有,为什么“someLetter:”不在行首? 最佳答案 在这里,"someLetter:"是一个字符串文字,即constchar*指针,通常指向存储所有字符串文字的只读内存区域。someLetter是ch

c++奇怪的std::cout行为使用指针

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Whatisthecorrectanswerforcout我刚输出文字,突然注意到。#includeintmain(){intarray[]={1,2,3,4};int*p=array;std::cout这样的行为对我来说很奇怪,为什么会这样?

c++ - 继续获取 "error: use of undeclared identifier ' cout' 和错误 : reference to overloaded function could not be resolved

我正在编写一个使用许多不同函数的排序程序,你们都可以从我的声明。但是,当我尝试编译和运行我的程序时,我不断遇到这些相同的错误它们如下:error:useofundeclaredidentifier'cout';didyoumean'count'?couterror:referencetooverloadedfunctioncouldnotberesolved;didyoumeantocallit?couterror:useofundeclaredidentifier'endl';didyoumean'end'?cout我不太确定为什么会出现这些错误....我想我已经包含了我需要的一切为

c++ - 为什么 cout 的访问冲突和 printf 的堆栈溢出

我想知道为什么在下面的两个代码片段中,cout和printf会发生访问冲突和堆栈溢出。我想知道为什么第一个代码的访问冲突而不是堆栈溢出。我得到访问冲突的第一个代码:voidTest();voidTest(){staticinti=0;cout我得到StackOverflow的第二个代码:voidTest();voidTest(){staticinti=0;printf("%d\n",i++);Test();}intmain(){Test();return0;} 最佳答案 我假设您了解这两个函数在尝试无限递归后由于堆栈耗尽而崩溃。我认

c++ - 有没有一种方法可以在不使用命名空间 std 或以 std::为前缀的情况下引用 cout?

我是C++的新手,我正在使用std::cout用于调试目的。虽然,我真的很想能够只使用cout而不是整个std::cout事物。我知道我可以导入std命名空间,但有人解释说这是一件坏事,因为可能会因此发生名称冲突。有什么办法吗?我试过了std::ostreamcout=std::cout;但是我明白了function"std::basic_ostream::basic_ostream(conststd::basic_ostream&)[with_CharT=char,_Traits=std::char_traits]"(declaredatline391of"/usr/include/

c++ - 为什么cout的输出<< 7/9*9;是零吗?

为什么下面代码的输出等于0或者serven?cout感谢您的帮助。 最佳答案 7/9*9将这些数字计算为整数,因此7/9计算为0,并且0*9=0。当你让它们漂浮时,你正在执行预期的计算。尝试7.0/9*9得到7,然后你将进行浮点运算。 关于c++-为什么cout的输出 https://stackoverflow.com/questions/1540515/