1. This document discusses testing the four language skills of listening, reading, speaking, and writing. For each skill, it covers specifying the tasks and criteria, setting the test, and reliably scoring test performance. Key points include selecting authentic audio/text at appropriate levels, using a variety of item types, avoiding bias, and training scorers to apply rubrics consistently. The goal is to obtain a valid and reliable sample of each skill through well-designed tests.
This presentation provides an overview of object-oriented programming (OOP). It discusses key OOP concepts including objects, classes, encapsulation, inheritance, polymorphism, and message passing. Objects are instances of classes that contain both data and behaviors. Classes define common properties and methods for objects. Encapsulation binds data and functions together, while inheritance allows classes to inherit properties from parent classes. Polymorphism allows the same message to be interpreted differently. Message passing facilitates communication between objects.
The document provides information about SQL (Structured Query Language). It defines SQL, describes what it is used for, lists some major RDBMS systems that use SQL, and explains that SQL allows users to query databases using English-like statements. It also discusses SQL basics like data definition language, data manipulation language, data control language, transaction control language, and data query language. Examples of SQL commands are provided for each along with explanations.
This document provides an overview of exception handling in Java. It discusses what exceptions are, what happens when exceptions occur, benefits of Java's exception handling framework such as separating error handling code and propagating exceptions up the call stack. It also covers catching exceptions using try-catch and finally blocks, throwing custom exceptions, the exception class hierarchy, and differences between checked and unchecked exceptions. The document concludes with a discussion of assertions.
Cursors in Oracle allow accessing multiple rows from a SQL statement one row at a time. There are two types of cursors: implicit cursors which are automatically created by Oracle for DML statements, and explicit cursors which are user-defined with a name to access rows. Explicit cursors require declaring the cursor name and SQL statement, opening the cursor, fetching rows into variables one by one using a loop, and closing the cursor once all rows have been processed.
Programming Fundamentals Functions in C and typesimtiazalijoono
Programming Fundamentals
Functions in C
Lecture Outline
• Functions
• Function declaration
• Function call
• Function definition
– Passing arguments to function
1) Passing constants
2) Passing variables
– Pass by value
– Returning values from functions
• Preprocessor directives
• Local and external variables
Selection Statements
Using if and if...else
Nested if Statements
Using switch Statements
Conditional Operator
Repetition Statements
Looping: while, do, and for
Nested loops
Using break and continue
The document contains information about Tarandeep Kaur, including her name, section, and roll number. It then lists and describes various topics related to functions in C++, including definition of functions, function calling, function prototypes, void functions, local vs global variables, function overloading, and recursion. Examples are provided to illustrate function calling, passing arguments, return values, and differences between call by value and call by reference.
Virtual functions allow functions to be overridden in derived classes. The virtual keyword before a function in the base class specifies that the function can be overridden. When a virtual function is called using a base class pointer, the version from the most derived class will be executed due to late binding. This allows runtime polymorphism where the function call is resolved based on the actual object type rather than the pointer variable type.
Python decorators allow functions and classes to be augmented or modified by wrapper objects. Decorators take the form of callable objects that process other callable objects like functions and classes. Decorators are applied once when a function or class is defined, making augmentation logic explicit and avoiding the need to modify call sites. Decorators can manage state information, handle multiple instances, and take arguments to customize behavior. However, decorators also introduce type changes and extra function calls that incur performance costs.
This document discusses the diamond problem that can occur with multiple inheritance in C++. Specifically, it shows an example where a class "four" inherits from classes "two" and "three", which both inherit from class "one". This results in two copies of the base class "one" being present in objects of class "four", leading to ambiguity when trying to access attributes from the base class. The document presents two ways to resolve this issue: 1) manual selection using scope resolution to specify which attribute to access, and 2) making the inheritance of the base class "one" virtual in classes "two" and "three", which ensures only one copy of the base class exists in class "four" objects. The virtual
The normal forms (NF) of relational database theory provide criteria for determining a table’s degree of vulnerability to logical inconsistencies and anomalies.
Formal spelling assessments are given to students throughout the year to track their progress. These assessments include achievement tests to determine their instructional level, diagnostic tests to assess learned words and skills, and criterion-referenced tests used to measure learning before and after instruction. Informal spelling assessments, such as dictated spelling tests and spelling inventories, are also used by teachers to evaluate students' literacy skills and identify strengths and weaknesses in spelling. Successful spelling requires students to use phonics, visual cues, and knowledge of high-frequency words when writing to check for correctly spelled words. The goal is for students to become proficient spellers and writers.
INTRODUCTION TO OBJECT ORIENTED PROGRAMMING.pptxDeepasCSE
Object-Oriented Programming (OOP) is a programming paradigm that focuses on organizing and modeling software as a collection of objects. In OOP, objects are instances of classes, which serve as blueprints or templates for defining the structure and behavior of those objects. OOP is built on several key principles and concepts, which include:
Objects: Objects are the basic building blocks of an OOP system. They represent real-world entities, and they encapsulate both data (attributes or properties) and behavior (methods or functions) that operate on that data.
Classes: Classes are the templates or blueprints from which objects are created. They define the attributes and methods that objects of the class will possess. Classes enable the concept of abstraction, allowing you to create objects with common characteristics and behaviors.
Encapsulation: Encapsulation is the concept of bundling data (attributes) and methods (functions) that operate on that data into a single unit, i.e., a class. This unit is called an object. Encapsulation restricts access to the internal state of an object, providing data hiding and promoting information hiding, which helps manage complexity and reduces potential issues.
Inheritance: Inheritance is a mechanism that allows a class (a child or derived class) to inherit the attributes and methods of another class (a parent or base class). This promotes code reusability and the creation of specialized classes.
Polymorphism: Polymorphism allows objects of different classes to be treated as objects of a common base class. It enables the use of a single interface to represent a general class of actions. Polymorphism can take the form of method overriding (a subclass provides a specific implementation of a method defined in its superclass) or method overloading (multiple methods with the same name but different parameters).
Abstraction: Abstraction is the process of simplifying complex reality by modeling classes based on the essential properties and behaviors. It hides the unnecessary details while providing a clear and well-defined interface for interacting with objects.
Object-Oriented Programming is widely used in various programming languages like C++, Java, C#, Python, and more. It promotes code organization, modularity, and the modeling of real-world entities in a way that makes it easier to design, develop, and maintain software systems. OOP is particularly suited for large and complex projects where code readability, reusability, and maintainability are critical.
The document provides an overview of object-oriented programming concepts in C++. It discusses key OOP concepts like objects, classes, encapsulation, inheritance and polymorphism. It also covers procedural programming in C++ and compares it with OOP. Examples are provided to demonstrate creating classes, objects, functions, constructors and destructors. The document contains information on basic C++ programming concepts needed to understand and implement OOP principles in C++ programs.
This document provides an overview of the C++ programming language. It discusses key C++ concepts like classes, objects, functions, and data types. Some key points:
- C++ is an object-oriented language that is an extension of C with additional features like classes and inheritance.
- Classes allow programmers to combine data and functions to model real-world entities. Objects are instances of classes.
- The document defines common C++ terms like keywords, identifiers, constants, and operators. It also provides examples of basic programs.
- Functions are described as modular and reusable blocks of code. Parameter passing techniques like pass-by-value and pass-by-reference are covered.
- Other concepts covered include
1. The document discusses object oriented programming concepts like classes, objects, inheritance, and polymorphism in C++.
2. It begins with an introduction to procedural programming and its limitations. Object oriented programming aims to overcome these limitations by emphasizing data over procedures and allowing for inheritance, polymorphism, and encapsulation.
3. The document then covers key OOP concepts like classes, objects, constructors, and static class members in C++. It provides examples of creating classes and objects.
C++ Langauage Training in Ambala ! BATRA COMPUTER CENTREjatin batra
C++ is a middle-level programming language developed by Bjarne Stroustrup starting in 1979 at Bell Labs. It runs on a variety of platforms such as Windows, Mac OS, and various versions of UNIX. C++ builds on C by adding classes, objects, inheritance, templates and exceptions to support object-oriented programming.
The document outlines the syllabus for the II Year / III Semester 20IT302 - C++ AND DATA STRUCTURES course. It covers 5 units - (1) Object Oriented Programming Fundamentals, (2) Object Oriented Programming Concepts, (3) C++ Programming Advanced Features, (4) Advanced Non-Linear Data Structures, and (5) Graphs. Some key concepts covered include classes, objects, encapsulation, inheritance, polymorphism, templates, containers, iterators, trees, and graph algorithms.
The document outlines a lecture plan for object oriented programming. It covers topics like structures and classes, function overloading, constructors and destructors, operator overloading, inheritance, polymorphism, and file streams. It provides examples to explain concepts like structures, classes, access specifiers, friend functions, and operator overloading. The document also includes questions for students to practice these concepts.
C++ is most often used programming language. This slide will help you to gain more knowledge on C++ programming. In this slide you will learn the fundamentals of C++ programming. The slide will also help you to fetch more details on Object Oriented Programming concepts. Each of the concept under Object Oriented Programming is explained in detail and in more smoother way as it will helpful for everyone to understand.
This document provides a condensed crash course on C++, covering recommended C++ resources, why C++ is used, the differences between C and C++, efficiency and maintainability considerations, design goals of C++, compatibility with C, fundamental data types, macros, memory allocation, object-oriented concepts in C++ like classes and structs, access control, constructor/destructor usage, and other key C++ concepts like references, pointers, arrays, inheritance, and polymorphism. The document aims to help readers learn C++ concepts and best practices in an approachable way.
This document provides an introduction to C and C++ programming. It discusses why C++ is a popular and relevant language, highlighting some of its key advantages over C like being more expressive and maintainable. It covers important C++ concepts like classes, inheritance, templates, and the standard template library. The document emphasizes designing classes for simplicity and elegance and using object-oriented principles like encapsulation and polymorphism. It also contrasts C++ programming paradigms like procedural, object-oriented, and generic programming.
The document contains information about Tarandeep Kaur, including her name, section, and roll number. It then lists and describes various topics related to functions in C++, including definition of functions, function calling, function prototypes, void functions, local vs global variables, function overloading, and recursion. Examples are provided to illustrate function calling, passing arguments, return values, and differences between call by value and call by reference.
Virtual functions allow functions to be overridden in derived classes. The virtual keyword before a function in the base class specifies that the function can be overridden. When a virtual function is called using a base class pointer, the version from the most derived class will be executed due to late binding. This allows runtime polymorphism where the function call is resolved based on the actual object type rather than the pointer variable type.
Python decorators allow functions and classes to be augmented or modified by wrapper objects. Decorators take the form of callable objects that process other callable objects like functions and classes. Decorators are applied once when a function or class is defined, making augmentation logic explicit and avoiding the need to modify call sites. Decorators can manage state information, handle multiple instances, and take arguments to customize behavior. However, decorators also introduce type changes and extra function calls that incur performance costs.
This document discusses the diamond problem that can occur with multiple inheritance in C++. Specifically, it shows an example where a class "four" inherits from classes "two" and "three", which both inherit from class "one". This results in two copies of the base class "one" being present in objects of class "four", leading to ambiguity when trying to access attributes from the base class. The document presents two ways to resolve this issue: 1) manual selection using scope resolution to specify which attribute to access, and 2) making the inheritance of the base class "one" virtual in classes "two" and "three", which ensures only one copy of the base class exists in class "four" objects. The virtual
The normal forms (NF) of relational database theory provide criteria for determining a table’s degree of vulnerability to logical inconsistencies and anomalies.
Formal spelling assessments are given to students throughout the year to track their progress. These assessments include achievement tests to determine their instructional level, diagnostic tests to assess learned words and skills, and criterion-referenced tests used to measure learning before and after instruction. Informal spelling assessments, such as dictated spelling tests and spelling inventories, are also used by teachers to evaluate students' literacy skills and identify strengths and weaknesses in spelling. Successful spelling requires students to use phonics, visual cues, and knowledge of high-frequency words when writing to check for correctly spelled words. The goal is for students to become proficient spellers and writers.
INTRODUCTION TO OBJECT ORIENTED PROGRAMMING.pptxDeepasCSE
Object-Oriented Programming (OOP) is a programming paradigm that focuses on organizing and modeling software as a collection of objects. In OOP, objects are instances of classes, which serve as blueprints or templates for defining the structure and behavior of those objects. OOP is built on several key principles and concepts, which include:
Objects: Objects are the basic building blocks of an OOP system. They represent real-world entities, and they encapsulate both data (attributes or properties) and behavior (methods or functions) that operate on that data.
Classes: Classes are the templates or blueprints from which objects are created. They define the attributes and methods that objects of the class will possess. Classes enable the concept of abstraction, allowing you to create objects with common characteristics and behaviors.
Encapsulation: Encapsulation is the concept of bundling data (attributes) and methods (functions) that operate on that data into a single unit, i.e., a class. This unit is called an object. Encapsulation restricts access to the internal state of an object, providing data hiding and promoting information hiding, which helps manage complexity and reduces potential issues.
Inheritance: Inheritance is a mechanism that allows a class (a child or derived class) to inherit the attributes and methods of another class (a parent or base class). This promotes code reusability and the creation of specialized classes.
Polymorphism: Polymorphism allows objects of different classes to be treated as objects of a common base class. It enables the use of a single interface to represent a general class of actions. Polymorphism can take the form of method overriding (a subclass provides a specific implementation of a method defined in its superclass) or method overloading (multiple methods with the same name but different parameters).
Abstraction: Abstraction is the process of simplifying complex reality by modeling classes based on the essential properties and behaviors. It hides the unnecessary details while providing a clear and well-defined interface for interacting with objects.
Object-Oriented Programming is widely used in various programming languages like C++, Java, C#, Python, and more. It promotes code organization, modularity, and the modeling of real-world entities in a way that makes it easier to design, develop, and maintain software systems. OOP is particularly suited for large and complex projects where code readability, reusability, and maintainability are critical.
The document provides an overview of object-oriented programming concepts in C++. It discusses key OOP concepts like objects, classes, encapsulation, inheritance and polymorphism. It also covers procedural programming in C++ and compares it with OOP. Examples are provided to demonstrate creating classes, objects, functions, constructors and destructors. The document contains information on basic C++ programming concepts needed to understand and implement OOP principles in C++ programs.
This document provides an overview of the C++ programming language. It discusses key C++ concepts like classes, objects, functions, and data types. Some key points:
- C++ is an object-oriented language that is an extension of C with additional features like classes and inheritance.
- Classes allow programmers to combine data and functions to model real-world entities. Objects are instances of classes.
- The document defines common C++ terms like keywords, identifiers, constants, and operators. It also provides examples of basic programs.
- Functions are described as modular and reusable blocks of code. Parameter passing techniques like pass-by-value and pass-by-reference are covered.
- Other concepts covered include
1. The document discusses object oriented programming concepts like classes, objects, inheritance, and polymorphism in C++.
2. It begins with an introduction to procedural programming and its limitations. Object oriented programming aims to overcome these limitations by emphasizing data over procedures and allowing for inheritance, polymorphism, and encapsulation.
3. The document then covers key OOP concepts like classes, objects, constructors, and static class members in C++. It provides examples of creating classes and objects.
C++ Langauage Training in Ambala ! BATRA COMPUTER CENTREjatin batra
C++ is a middle-level programming language developed by Bjarne Stroustrup starting in 1979 at Bell Labs. It runs on a variety of platforms such as Windows, Mac OS, and various versions of UNIX. C++ builds on C by adding classes, objects, inheritance, templates and exceptions to support object-oriented programming.
The document outlines the syllabus for the II Year / III Semester 20IT302 - C++ AND DATA STRUCTURES course. It covers 5 units - (1) Object Oriented Programming Fundamentals, (2) Object Oriented Programming Concepts, (3) C++ Programming Advanced Features, (4) Advanced Non-Linear Data Structures, and (5) Graphs. Some key concepts covered include classes, objects, encapsulation, inheritance, polymorphism, templates, containers, iterators, trees, and graph algorithms.
The document outlines a lecture plan for object oriented programming. It covers topics like structures and classes, function overloading, constructors and destructors, operator overloading, inheritance, polymorphism, and file streams. It provides examples to explain concepts like structures, classes, access specifiers, friend functions, and operator overloading. The document also includes questions for students to practice these concepts.
C++ is most often used programming language. This slide will help you to gain more knowledge on C++ programming. In this slide you will learn the fundamentals of C++ programming. The slide will also help you to fetch more details on Object Oriented Programming concepts. Each of the concept under Object Oriented Programming is explained in detail and in more smoother way as it will helpful for everyone to understand.
This document provides a condensed crash course on C++, covering recommended C++ resources, why C++ is used, the differences between C and C++, efficiency and maintainability considerations, design goals of C++, compatibility with C, fundamental data types, macros, memory allocation, object-oriented concepts in C++ like classes and structs, access control, constructor/destructor usage, and other key C++ concepts like references, pointers, arrays, inheritance, and polymorphism. The document aims to help readers learn C++ concepts and best practices in an approachable way.
This document provides an introduction to C and C++ programming. It discusses why C++ is a popular and relevant language, highlighting some of its key advantages over C like being more expressive and maintainable. It covers important C++ concepts like classes, inheritance, templates, and the standard template library. The document emphasizes designing classes for simplicity and elegance and using object-oriented principles like encapsulation and polymorphism. It also contrasts C++ programming paradigms like procedural, object-oriented, and generic programming.
This document provides a condensed crash course on C++, beginning with recommended C++ resources. It discusses why C++ is popular and relevant, how C++ is an increment of C while being more expressive and maintainable. It covers key differences between C and C++, efficiency and maintainability, design goals of C++, compatibility with C, and the purpose of programming languages. It also provides overviews of important C++ concepts like classes, objects, inheritance, and templates.
This document provides a condensed crash course on C++, beginning with recommended C++ resources. It discusses why C++ is popular and relevant, comparing C and C++. It covers key C++ concepts like efficiency, maintainability, design goals, compatibility with C, classes, structs, access control, constructors/destructors, inheritance, polymorphism, pointers/arrays/references, argument passing, and type conversion. The document emphasizes object-oriented principles and encourages gradual learning of C++ features.
This document provides a condensed crash course on C++, beginning with recommended C++ resources. It discusses why C++ is popular and relevant, how C++ is an increment of C while being more expressive and maintainable. It covers key differences between C and C++, efficiency and maintainability considerations, design goals of C++, compatibility with C, and the purpose of programming languages. It also provides overviews of important C++ concepts like classes, inheritance, templates, and memory management.
This document provides a condensed crash course on C++, beginning with recommended C++ resources. It discusses why C++ is popular and relevant, comparing C and C++. It covers key C++ concepts like efficiency, maintainability, design goals, compatibility with C, classes, structs, access control, constructors/destructors, inheritance, polymorphism, pointers/arrays/references, argument passing, and type conversion. The document aims to help readers learn C++ and become better programmers.
SVD is a powerful matrix factorization technique used in machine learning, data science, and AI. It helps with dimensionality reduction, image compression, noise filtering, and more.
Mastering SVD can give you an edge in handling complex data efficiently!
Marketo & Dynamics can be Most Excellent to Each Other – The SequelBradBedford3
So you’ve built trust in your Marketo Engage-Dynamics integration—excellent. But now what?
This sequel picks up where our last adventure left off, offering a step-by-step guide to move from stable sync to strategic power moves. We’ll share real-world project examples that empower sales and marketing to work smarter and stay aligned.
If you’re ready to go beyond the basics and do truly most excellent stuff, this session is your guide.
Maximizing Business Value with AWS Consulting Services.pdfElena Mia
An overview of how AWS consulting services empower organizations to optimize cloud adoption, enhance security, and drive innovation. Read More: https://www.damcogroup.com/aws-cloud-services/aws-consulting.
Who will create the languages of the future?Jordi Cabot
Will future languages be created by language engineers?
Can you "vibe" a DSL?
In this talk, we will explore the changing landscape of language engineering and discuss how Artificial Intelligence and low-code/no-code techniques can play a role in this future by helping in the definition, use, execution, and testing of new languages. Even empowering non-tech users to create their own language infrastructure. Maybe without them even realizing.
Build Smarter, Deliver Faster with Choreo - An AI Native Internal Developer P...WSO2
Enterprises must deliver intelligent, cloud native applications quickly—without compromising governance or scalability. This session explores how an internal developer platform increases productivity via AI for code and accelerates AI-native app delivery via code for AI. Learn practical techniques for embedding AI in the software lifecycle, automating governance with AI agents, and applying a cell-based architecture for modularity and scalability. Real-world examples and proven patterns will illustrate how to simplify delivery, enhance developer productivity, and drive measurable outcomes.
Learn more: https://wso2.com/choreo
The Future of Open Source Reporting Best Alternatives to Jaspersoft.pdfVarsha Nayak
In recent years, organizations have increasingly sought robust open source alternative to Jasper Reports as the landscape of open-source reporting tools rapidly evolves. While Jaspersoft has been a longstanding choice for generating complex business intelligence and analytics reports, factors such as licensing changes and growing demands for flexibility have prompted many businesses to explore other options. Among the most notable alternatives to Jaspersoft, Helical Insight stands out for its powerful open-source architecture, intuitive analytics, and dynamic dashboard capabilities. Designed to be both flexible and budget-friendly, Helical Insight empowers users with advanced features—such as in-memory reporting, extensive data source integration, and customizable visualizations—making it an ideal solution for organizations seeking a modern, scalable reporting platform. This article explores the future of open-source reporting and highlights why Helical Insight and other emerging tools are redefining the standards for business intelligence solutions.
Integration Ignited Redefining Event-Driven Architecture at Wix - EventCentricNatan Silnitsky
At Wix, we revolutionized our platform by making integration events the backbone of our 4,000-microservice ecosystem. By abandoning traditional domain events for standardized Protobuf events through Kafka, we created a universal language powering our entire architecture.
We'll share how our "single-aggregate services" approach—where every CUD operation triggers semantic events—transformed scalability and extensibility, driving efficient event choreography, data lake ingestion, and search indexing.
We'll address our challenges: balancing consistency with modularity, managing event overhead, and solving consumer lag issues. Learn how event-based data prefetches dramatically improved performance while preserving the decoupling that makes our platform infinitely extensible.
Key Takeaways:
- How integration events enabled unprecedented scale and extensibility
- Practical strategies for event-based data prefetching that supercharge performance
- Solutions to common event-driven architecture challenges
- When to break conventional architectural rules for specific contexts
FME as an Orchestration Tool - Peak of Data & AI 2025Safe Software
Processing huge amounts of data through FME can have performance consequences, but as an orchestration tool, FME is brilliant! We'll take a look at the principles of data gravity, best practices, pros, cons, tips and tricks. And of course all spiced up with relevant examples!
14 Years of Developing nCine - An Open Source 2D Game FrameworkAngelo Theodorou
A 14-year journey developing nCine, an open-source 2D game framework.
This talk covers its origins, the challenges of staying motivated over the long term, and the hurdles of open-sourcing a personal project while working in the game industry.
Along the way, it’s packed with juicy technical pills to whet the appetite of the most curious developers.
Have you upgraded your application from Qt 5 to Qt 6? If so, your QML modules might still be stuck in the old Qt 5 style—technically compatible, but far from optimal. Qt 6 introduces a modernized approach to QML modules that offers better integration with CMake, enhanced maintainability, and significant productivity gains.
In this webinar, we’ll walk you through the benefits of adopting Qt 6 style QML modules and show you how to make the transition. You'll learn how to leverage the new module system to reduce boilerplate, simplify builds, and modernize your application architecture. Whether you're planning a full migration or just exploring what's new, this session will help you get the most out of your move to Qt 6.
Bonk coin airdrop_ Everything You Need to Know.pdfHerond Labs
The Bonk airdrop, one of the largest in Solana’s history, distributed 50% of its total supply to community members, significantly boosting its popularity and Solana’s network activity. Below is everything you need to know about the Bonk coin airdrop, including its history, eligibility, how to claim tokens, risks, and current status.
https://blog.herond.org/bonk-coin-airdrop/
Providing Better Biodiversity Through Better DataSafe Software
This session explores how FME is transforming data workflows at Ireland’s National Biodiversity Data Centre (NBDC) by eliminating manual data manipulation, incorporating machine learning, and enhancing overall efficiency. Attendees will gain insight into how NBDC is using FME to document and understand internal processes, make decision-making fully transparent, and shine a light on underlying code to improve clarity and reduce silent failures.
The presentation will also outline NBDC’s future plans for FME, including empowering staff to access and query data independently, without relying on external consultants. It will also showcase ambitions to connect to new data sources, unlock the full potential of its valuable datasets, create living atlases, and place its valuable data directly into the hands of decision-makers across Ireland—ensuring that biodiversity is not only protected but actively enhanced.
Revolutionize Your Insurance Workflow with Claims Management SoftwareInsurance Tech Services
Claims management software enhances efficiency, accuracy, and satisfaction by automating processes, reducing errors, and speeding up transparent claims handling—building trust and cutting costs. Explore More - https://www.damcogroup.com/insurance/claims-management-software
Automating Map Production With FME and PythonSafe Software
People still love a good paper map, but every time a request lands on a GIS team’s desk, it takes time to create that perfect, individual map—even when you're ready and have projects prepped. Then come the inevitable changes and iterations that add even more time to the process. This presentation explores a solution for automating map production using FME and Python. FME handles the setup of variables, leveraging GIS reference layers and parameters to manage details like map orientation, label sizes, and layout elements. Python takes over to export PDF maps for each location and template size, uploading them monthly to ArcGIS Online. The result? Fresh, regularly updated maps, ready for anyone to grab anytime—saving you time, effort, and endless revisions while keeping users happy with up-to-date, accessible maps.
Plooma is a writing platform to plan, write, and shape books your wayPlooma
Plooma is your all in one writing companion, designed to support authors at every twist and turn of the book creation journey. Whether you're sketching out your story's blueprint, breathing life into characters, or crafting chapters, Plooma provides a seamless space to organize all your ideas and materials without the overwhelm. Its intuitive interface makes building rich narratives and immersive worlds feel effortless.
Packed with powerful story and character organization tools, Plooma lets you track character development and manage world building details with ease. When it’s time to write, the distraction-free mode offers a clean, minimal environment to help you dive deep and write consistently. Plus, built-in editing tools catch grammar slips and style quirks in real-time, polishing your story so you don’t have to juggle multiple apps.
What really sets Plooma apart is its smart AI assistant - analyzing chapters for continuity, helping you generate character portraits, and flagging inconsistencies to keep your story tight and cohesive. This clever support saves you time and builds confidence, especially during those complex, detail packed projects.
Getting started is simple: outline your story’s structure and key characters with Plooma’s user-friendly planning tools, then write your chapters in the focused editor, using analytics to shape your words. Throughout your journey, Plooma’s AI offers helpful feedback and suggestions, guiding you toward a polished, well-crafted book ready to share with the world.
With Plooma by your side, you get a powerful toolkit that simplifies the creative process, boosts your productivity, and elevates your writing - making the path from idea to finished book smoother, more fun, and totally doable.
Get Started here: https://www.plooma.ink/
2. Resources
• Text Book:
• Object Oriented Programming in C++
• 4th Edition
• By Robert Lafore
• 978-0672323089
• Sams Publisher
• Other Resources
Book Link
5. History of C++
– C++ was developed by Bjarne Stroustrup at Bell Labs in the early 1980s as an
enhancement to C, incorporating object-oriented features.
– It became commercially available in 1985, with its first standard (C++98) published
in 1998.
– Subsequent updates (C++03, C++11, C++14, C++17, and C++20) added significant
features like templates, auto type, lambdas, and concepts, making it a powerful
tool for modern software development
– C++ continues to evolve with ongoing efforts for new standards.
– Its influence extends to languages like C#, Java, and Rust.C++
6. Object-Oriented Languages
– Some of the most popular Object-oriented Programming languages are:
▪ C++
▪ Java.
▪ smalltalk
▪ Eiffle.
▪ Ruby
▪ Delphi
7. First C++ Program
#include <iostream>
using namespace std;
int main() {
cout << "Welcome to C++!" << endl;
return 0;
}
cout is declared in this name space
9. #include <iostream>
using namespace std;
int main()
{
const int MAX = 20; //max characters in string
char str[MAX]; //string variable str
cout << "nEnter a string : ";
// cin >> setw(MAX) >> str; // space problem
cin.get(str, MAX); //put string in str (max 19 chars)
// no more than MAX chars
cout << "You entered: " << str;
cout << ", size: " << sizeof(str);
cout << endl;
return 0;
}
Arrays
– An array is a collection of variables of the same types.
10. #include <iostream>
using namespace std;
const int MAX = 2000; //max characters in string
char str[MAX]; //string variable str
int main()
{
cout << "nEnter a string : n";
cin.get(str, MAX, '$'); //terminate with $
cout << "You entered : n" << str << endl;
return 0;
}
Reading Multiple Lines
11. Structures
– A structure is a collection of variables of different types.
– The variables in a structure can be of different types:
• Some can be int, some can be float, and so on.
• The data items in a structure are called the members of the structure.
struct Car
{
int modelNumber;
int year; // manufacturing year
float price;
};
12. #include <iostream>
using namespace std;
struct Car
{
int modelnumber;
int year;
float price;
};
int main() {
Car car1;
car1.modelnumber = 301;
car1.year = 2019;
car1.price = 217500.00F;
//display structure members
cout << "Model: " << car1.modelnumber << endl;
cout << "Year: " << car1.year << endl;
cout << "Price $: " << car1.price << endl;
return 0;
}
14. Enumerations
– An enumeration is a list of all possible values, you must give a specific
name to every possible value.
– The first name in the list is given the value 0, the next name is given the
value 1, and so on.
#include <iostream>
using namespace std;
enum days_of_week { Sun, Mon, Tue, Wed, Thu, Fri, Sat };
enum pets { cat, dog, mice, canary, turtule };
int main() {
return 0;
}
15. Overloaded Functions
– The function overloading is in practice two functions have the same
name but their parameter lists are different (in type or in number).
#include <iostream>
using namespace std;
// Declarations
void repchar();
void repchar(char);
void repchar(char, int);
int main() {
repchar();
repchar('=');
repchar('+', 30);
return 0;
}
16. void repchar() // displays 45 asterisks
{
for (int j = 0; j < 45; j++) // always loops 45 times
cout << '*'; // always prints asterisk
cout << endl;
}
void repchar(char ch) // displays 45 copies of specified character
{
for (int j = 0; j < 45; j++) // always loops 45 times
cout << ch; // prints specified character
cout << endl;
}
// displays specified number of copies of specified character
void repchar(char ch, int n)
{
for (int j = 0; j < n; j++) // loops n times
cout << ch; // prints specified character
cout << endl;
}
17. Namespaces in C++
– Namespaces are used to organize code into logical groups and to prevent name collisions.
#include <iostream>
// Define a namespace called 'MathFunctions'
namespace MathFunctions {
double add(double a, double b) {
return a + b;
}
double subtract(double a, double b) {
return a - b;
}
}
// Define another namespace called 'Utils'
namespace Utils {
void printMessage(const std::string& message) {
std::cout << message << std::endl;
}
}
int main() {
// Use the functions defined in the MathFunctions namespace
double sum = MathFunctions::add(5.0, 3.0);
double difference = MathFunctions::subtract(5.0, 3.0);
// Print the results
std::cout << "Sum: " << sum << std::endl;
std::cout << "Difference: " << difference << std::endl;
// Use the function defined in the Utils namespace
Utils::printMessage("Hello, namespaces!");
return 0;
}
20. Introduction
– Object-oriented programming (OOP)
▪ The fundamental idea behind object-oriented languages is to combine into a
single unit both data and the functions that operate on that data. Such a unit
is called an object.
▪ An object’s functions, called member functions in C++, typically provide the
only way to access its data.
▪ If you want to read a data item in an object, you call a member function in
the object. It will access the data and return the value to you.
▪ You can’t access the data directly. The data is hidden, so it is safe from
accidental alteration.
21. Introduction
– Object-oriented programming (OOP)
▪ Encapsulation: encapsulates data (attributes) and functions (behavior) into
packages called classes.
▪ Information Hiding: implementation details are hidden within the classes
themselves.
– Classes
▪ Classes are the standard unit of programming
▪ Objects are instantiated (created) from the class
22. Structures and Classes
– The only formal difference between class and struct is that in a class the
members are private by default, while in a structure they are public by
default.
struct foo {
int data1;
void func();
};
class foo {
private:
int data1;
public:
void func();
};
25. An Analogy
– You might want to think of
objects as departments—such as
sales, accounting, personnel, and
so on—in a company.
26. Characteristics of OOP
– Programs are divided into classes and functions.
– Data is hidden and cannot be accessed by external functions.
– Use of inheritance provides reusability of code.
– New functions and data items can be added easily.
– Data is given more important than functions.
– Data and function are tied together in a single unit known as class.
– Objects communicate each other by sending messages in the form of function.
29. Data Hiding
– A key feature of object-oriented programming is data hiding, this means
that data is concealed within a class so that it cannot be accessed
mistakenly by functions outside the class.
– The primary mechanism for hiding data is to put it in a class and make it
private.
▪ Private data or functions can only be accessed from within the class.
▪ Public data or functions, on the other hand, are accessible from outside the class.
31. Example
#include <iostream>
using namespace std;
class car
{
private:
int modelnumber;
int year;
float price;
public:
void setcar(int mn, int yr, float p)
{
modelnumber = mn;
year = yr;
price = p;
}
32. void showcar()
{
cout << "Model: " << modelnumber << endl;
cout << "Year: " << year << endl;
cout << "Price $: " << price << endl;
}
};
int main() {
car car1; //define object of class car
car1.setcar(301, 2020, 225500.00F); //call member function
car1.showcar(); //call member function
return 0;
}
33. Constructor
– It’s required that an object can initialize itself when it’s first created,
without requiring a separate call to a member function.
– Automatic initialization is carried out using a special member function
called a constructor.
– A constructor is a member function that is executed automatically
whenever an object is created.
– The constructor has the same name as the class, and no return type is
used for constructors.
(The term constructor is sometimes abbreviated ctor )
34. Constructor Example
#include <iostream>
using namespace std;
class Counter {
private:
unsigned int count;
public:
Counter() { //constructor – Or Counter() : count(0) {}
count = 0;
}
void inc_count() {
count++;
}
int get_count() {
return count;
}
};
35. int main() {
Counter c1; //define and initialize
cout << "c1 = " << c1.get_count() << endl; //display
c1.inc_count(); //increment c1
cout << "c1 = " << c1.get_count() << endl; //display again
return 0;
}
– The default constructor.
36. Destructor
– The destructor is a special member function that is called automatically
when an object is destroyed.
– A destructor has the same name as the constructor (which is the same as
the class name) but is preceded by a tilde symbol ( ~ ).
– Destructor does not have a return value and they take no arguments.
37. Destructor Example
#include <iostream>
using namespace std;
class Test {
public:
// Constructor
Test() { cout << "Constructor executed" << endl; }
// Destructor
~Test() { cout << "Destructor executed" << endl; }
};
int main()
{
Test t, t1, t2, t3;
return 0;
}
38. Overloaded Constructors
#include <iostream>
#include <string.h>
using namespace std;
class Person
{
private:
char name[80];
char gender[7];
int age;
public:
Person()
{
strcpy(name, "Mohamed");
strcpy(gender, "Male");
age = 25;
}
Person(char _name[])
{
strcpy(name, _name);
strcpy(gender, "Male");
age = 25;
}
40. #include <iostream>
#include <string>
using namespace std;
class Car {
private:
string make;
double price;
int year;
public:
Car() : make(""), price(0.0), year(0)
{ }
Car(string carMake, double carPrice, int carYear)
{
make = carMake;
price = carPrice;
year = carYear;
}
void setDetails() {
cout << "Enter car make: ";
getline(cin, make);
cout << "Enter car price: ";
cin >> price;
cout << "Enter production year: ";
cin >> year;
}
void displayDetails() const {
cout << "Car Make (Company): " << make << endl;
cout << "Car Price: " << price << endl;
cout << "Car Year: " << year << endl;
}
};
int main() {
Car myCar;
// Get car details
myCar.setDetails();
// Show the car details
cout << "Car Details:n";
myCar.displayDetails();
return 0;
}
Example
Car Class
41. Static Class Data
– When a member variable is defined as static within a class,
– All the objects created from that class would have access to this variable.
– It would be the same variable for all of the created objects; they would
all see the same count.
42. #include <iostream>
using namespace std;
class foo
{
private:
static int count; // only one data item for all objects
public:
foo() { //increments count when object created
count++;
}
int getcount() { //returns count
return count;
}
};
int foo::count = 0; // definition of 'count'
int main()
{
foo f1, f2, f3; //create three objects
//each object sees the same value
cout << "count is " << f1.getcount() << endl;
cout << "count is " << f2.getcount() << endl;
cout << "count is " << f3.getcount() << endl;
return 0;
}
43. #include <iostream>
#include <cstring> //for strcpy()
using namespace std;
class part
{
private:
char partname[30]; //name of widget part
int partnumber; //ID number of widget part
double cost; //cost of part
public:
void setpart(char pname[], int pn, double c)
{
strcpy(partname, pname);
partnumber = pn;
cost = c;
}
void showpart() //display data
{
cout << "nName = " << partname;
cout << ", number = " << partnumber;
cout << ", cost = $" << cost;
}
};
int main()
{
part part1, part2;
part1.setpart("handle bolt", 4473, 217.55); //set parts
part2.setpart("start lever", 9924, 419.25);
cout << "nFirst part : "; //show parts
part1.showpart();
cout << "nSecond part : ";
part2.showpart();
return 0;
}
Complete Example