我无法使用我的类创建对象
I can't create an object with my class
我想创建一个类,它具有ostream的所有功能和我添加的一些功能。我添加的功能因为我甚至还没有开始写它们,所以丢失了一个错误:(
这是我的源代码
#include "stdafx.h"
#include "iostream"
using namespace std;
class my_ostream : ostream {};
int main() {
my_ostream my_cout; // my_cout is underlined
my_cout << "Hello World!";
}
这里是我得到的错误
IntelliSense: the default constructor of "my_ostream"
cannot be referenced -- it is a deleted function
我知道这意味着什么,但是默认构造函数应该是可访问的,因为ostream中有一个并且它是继承的。那我为什么不能用呢因为我觉得我也应该能…?: o
感谢您阅读<3并帮助我解决这个简单的问题
亚历克斯这有点麻烦(可能真的很麻烦),但如果您可以容忍两个输出类使用相同的输出缓冲区,OP就可以开始竞争了。如果您愿意,可以窃取cout的缓冲区,然后将cout指向另一个缓冲区,以防止交叉污染。这可能会给那些期待好的计算工作的人带来令人讨厌的惊喜,所以它可能比缓冲区共享更糟糕。
#include <iostream>
class my_ostream: public std::ostream
{
public:
my_ostream():std::ostream(std::cout.rdbuf())
{
}
//extra functionality goes here
};
int main(int argc, char * argv[])
{
my_ostream my_cout; // my_cout is underlined
my_cout << "My Hello World!" <<std::endl;
std::cout << "cout Hello World!" <<std::endl;
}
相关文章:
- 为什么我的 DeviceInformation 对象没有 System.Devices.InterfaceClassGuid 属性?
- 为什么我的 constexpr 对象在我的函数中不是 constexpr?
- 如何获取在 main() 函数中构造的类的创建对象?
- 为什么STL优先级队列错误地分配了我的类对象
- 如何改进我的"String"对象比较功能
- 使用抽象类的类和实现此抽象类的创建对象
- 为什么我的类对象会导致未申报的标识符错误
- 如何使用OlesetClipboard将我的COM对象放置在剪贴板上时解决问题
- 为什么我的三角形对象没有被绘制?
- 在 OpenGL 中,为什么除非我再次重新指定顶点属性,否则我的缓冲区对象不会绘制?
- 为什么我的 OpenGL 对象相对于最后一个绘制的对象绘制
- 当我尝试创建对象数组时出错
- 为什么我的堆栈对象在创建后会更改默认值
- 我应该在我的所有对象需要时将我的服务定位器传递给他们吗
- 如何让列表可以隐式转换为我的类对象
- 我在创建对象并使用向量而不是数组使用它们的类函数时遇到问题......我做错了什么?
- 为什么对我的IDispatch对象的所有引用都没有释放?
- 错误:没有匹配的函数调用我的类对象
- 如何在使用QQmlApplicationEngine时从C++访问我的Window对象属性
- 使boost::function引用我的函数对象