1 /**************************************************************************** 2 ** 3 ** Copyright (C) 2016 The Qt Company Ltd. 4 ** Contact: https://www.qt.io/licensing/ 5 ** 6 ** This file is part of the test suite of Qt for Python. 7 ** 8 ** $QT_BEGIN_LICENSE:GPL-EXCEPT$ 9 ** Commercial License Usage 10 ** Licensees holding valid commercial Qt licenses may use this file in 11 ** accordance with the commercial license agreement provided with the 12 ** Software or, alternatively, in accordance with the terms contained in 13 ** a written agreement between you and The Qt Company. For licensing terms 14 ** and conditions see https://www.qt.io/terms-conditions. For further 15 ** information use the contact form at https://www.qt.io/contact-us. 16 ** 17 ** GNU General Public License Usage 18 ** Alternatively, this file may be used under the terms of the GNU 19 ** General Public License version 3 as published by the Free Software 20 ** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT 21 ** included in the packaging of this file. Please review the following 22 ** information to ensure the GNU General Public License requirements will 23 ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 24 ** 25 ** $QT_END_LICENSE$ 26 ** 27 ****************************************************************************/ 28 29 #include <iostream> 30 #include "abstract.h" 31 #include "objecttype.h" 32 33 using namespace std; 34 35 const int Abstract::staticPrimitiveField = 0; 36 Abstract(int id)37Abstract::Abstract(int id) : m_id(id) 38 { 39 primitiveField = 123; 40 valueTypeField = Point(12, 34); 41 objectTypeField = nullptr; 42 bitField = 0; 43 } 44 ~Abstract()45Abstract::~Abstract() 46 { 47 } 48 49 void unpureVirtual()50Abstract::unpureVirtual() 51 { 52 } 53 54 void callUnpureVirtual()55Abstract::callUnpureVirtual() 56 { 57 this->unpureVirtual(); 58 } 59 60 61 void callPureVirtual()62Abstract::callPureVirtual() 63 { 64 this->pureVirtual(); 65 } 66 67 void show(PrintFormat format)68Abstract::show(PrintFormat format) 69 { 70 cout << '<'; 71 switch(format) { 72 case Short: 73 cout << this; 74 break; 75 case Verbose: 76 cout << "class " << className() << " | cptr: " << this; 77 cout << ", id: " << m_id; 78 break; 79 case OnlyId: 80 cout << "id: " << m_id; 81 break; 82 case ClassNameAndId: 83 cout << className() << " - id: " << m_id; 84 break; 85 } 86 cout << '>'; 87 } 88 callVirtualGettingEnum(PrintFormat p)89void Abstract::callVirtualGettingEnum(PrintFormat p) 90 { 91 virtualGettingAEnum(p); 92 } 93 virtualGettingAEnum(Abstract::PrintFormat p)94void Abstract::virtualGettingAEnum(Abstract::PrintFormat p) 95 { 96 } 97 98