diff options
Diffstat (limited to 'sources/shiboken6/tests/libsample/abstract.cpp')
-rw-r--r-- | sources/shiboken6/tests/libsample/abstract.cpp | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/sources/shiboken6/tests/libsample/abstract.cpp b/sources/shiboken6/tests/libsample/abstract.cpp new file mode 100644 index 000000000..0d67d8630 --- /dev/null +++ b/sources/shiboken6/tests/libsample/abstract.cpp @@ -0,0 +1,71 @@ +// Copyright (C) 2016 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 + +#include "abstract.h" + +#include <iostream> + +const int Abstract::staticPrimitiveField = 0; + +Abstract::Abstract(int id) noexcept : m_id(id) +{ + bitField = 0; +} + +Abstract::~Abstract() = default; + +void Abstract::unpureVirtual() +{ +} + +void Abstract::callUnpureVirtual() +{ + this->unpureVirtual(); +} + +void Abstract::callPureVirtual() +{ + this->pureVirtual(); +} + +void Abstract::show(PrintFormat format) const +{ + std::cout << '<'; + switch(format) { + case Short: + std::cout << this; + break; + case Verbose: + std::cout << "class " << className() << " | cptr: " << this + << ", id: " << m_id; + break; + case OnlyId: + std::cout << "id: " << m_id; + break; + case ClassNameAndId: + std::cout << className() << " - id: " << m_id; + break; + } + std::cout << '>'; +} + +void Abstract::virtualWithOutParameter(int &x) const +{ + x = 42; +} + +int Abstract::callVirtualWithOutParameter() const +{ + int x; + virtualWithOutParameter(x); + return x; +} + +void Abstract::callVirtualGettingEnum(PrintFormat p) +{ + virtualGettingAEnum(p); +} + +void Abstract::virtualGettingAEnum(Abstract::PrintFormat) +{ +} |