Unix Programming
C++ and Qt

February 2010
C++


✤   Object Orientated Language

    ✤   Adds to the C Language

    ✤   Pre-dates Java and C#

    ✤   Fully Compiled

    ✤   Standard Libraries (such as strings)
C++


✤   Points of interest

    ✤   Multiple Inheritance

    ✤   Operator overloading

    ✤   Templates

    ✤   Strings
C++


✤   Things you might miss

    ✤   No garbage collection - manual memory management

    ✤   No collections

        ✤   You can use the Standard Template Library (STL)
Qt

✤   Cross platform GUI framework

    ✤   Compatible at source level

✤   C++ based Object Orientated Framework

    ✤   With some (rather good) Qt extensions

    ✤   Lots of useful components (strings, networking, Variant data types
        etc..)

✤   Available on Linux, Mac OS, Symbian, MS Windows,........
Part A - Anatomy of a C++ Program
The class

class declaration (header file)   class implementation (cpp file)
class MyClass                    #include "myclass.h"
{
private:                         MyClass::MyClass() {
    int age;                         MyClass(0);
                                 }
     void anotherBirthday() {
         age++;                  MyClass::MyClass(int initialValue) {
     }                               this->setAge(initialValue);
                                 }
public:
    MyClass();                   MyClass::~MyClass() {
    MyClass(int initialValue);       age = 0;
                                 }
     ~MyClass();
     int getAge() {              void MyClass::setAge(int v) {
         return age;                 if (age == v) return;
     }                               age = v;
     void setAge(int v);         }
};
Part A - Anatomy of a C++ Program
The class

class declaration (header file)   class implementation (cpp file)
class MyClass                    #include "myclass.h"
{
private:                         MyClass::MyClass() {
    int age;                         MyClass(0);
                                 }
     void anotherBirthday() {
         age++;                  MyClass::MyClass(int initialValue) {
     }                               this->setAge(initialValue);
                                 }
public:
    MyClass();                   MyClass::~MyClass() {
    MyClass(int initialValue);       age = 0;
                                 }
     ~MyClass();
     int getAge() {              void MyClass::setAge(int v) {
         return age;                 if (age == v) return;
     }                               age = v;
     void setAge(int v);         }
};
Part A - Anatomy of a C++ Program
The class

class declaration (header file)   class implementation (cpp file)
class MyClass                    #include "myclass.h"
{
private:                         MyClass::MyClass() {
    int age;                         MyClass(0);
                                 }
     void anotherBirthday() {
         age++;                  MyClass::MyClass(int initialValue) {
     }                               this->setAge(initialValue);
                                 }
public:
    MyClass();                   MyClass::~MyClass() {
    MyClass(int initialValue);       age = 0;
                                 }
     ~MyClass();
     int getAge() {              void MyClass::setAge(int v) {
         return age;                 if (age == v) return;
     }                               age = v;
     void setAge(int v);         }
};
Part A - Anatomy of a C++ Program
The class

class declaration (header file)   class implementation (cpp file)
class MyClass                    #include "myclass.h"
{
private:                         MyClass::MyClass() {
    int age;                         MyClass(0);
                                 }
     void anotherBirthday() {
         age++;                  MyClass::MyClass(int initialValue) {
     }                               this->setAge(initialValue);
                                 }
public:
    MyClass();                   MyClass::~MyClass() {
    MyClass(int initialValue);       age = 0;
                                 }
     ~MyClass();
     int getAge() {              void MyClass::setAge(int v) {
         return age;                 if (age == v) return;
     }                               age = v;
     void setAge(int v);         }
};
Part A - Anatomy of a C++ Program
The class

class declaration (header file)   class implementation (cpp file)
class MyClass                    #include "myclass.h"
{
private:                         MyClass::MyClass() {
    int age;                         MyClass(0);
                                 }
     void anotherBirthday() {
         age++;                  MyClass::MyClass(int initialValue) {
     }                               this->setAge(initialValue);
                                 }
public:
    MyClass();                   MyClass::~MyClass() {
    MyClass(int initialValue);       age = 0;
                                 }
     ~MyClass();
     int getAge() {              void MyClass::setAge(int v) {
         return age;                 if (age == v) return;
     }                               age = v;
     void setAge(int v);         }
};
Part A - Anatomy of a C++ Program
The class

class declaration (header file)   class implementation (cpp file)
class MyClass                    #include "myclass.h"
{
private:                         MyClass::MyClass() {
    int age;                         MyClass(0);
                                 }
     void anotherBirthday() {
         age++;                  MyClass::MyClass(int initialValue) {
     }                               this->setAge(initialValue);
                                 }
public:
    MyClass();                   MyClass::~MyClass() {
    MyClass(int initialValue);       age = 0;
                                 }
     ~MyClass();
     int getAge() {              void MyClass::setAge(int v) {
         return age;                 if (age == v) return;
     }                               age = v;
     void setAge(int v);         }
};
Part A - Anatomy of a C++ Program
The class

class declaration (header file)   class implementation (cpp file)
class MyClass                    #include "myclass.h"
{
private:                         MyClass::MyClass() {
    int age;                         MyClass(0);
                                 }
     void anotherBirthday() {
         age++;                  MyClass::MyClass(int initialValue) {
     }                               this->setAge(initialValue);
                                 }
public:
    MyClass();                   MyClass::~MyClass() {
    MyClass(int initialValue);       age = 0;
                                 }
     ~MyClass();
     int getAge() {              void MyClass::setAge(int v) {
         return age;                 if (age == v) return;
     }                               age = v;
     void setAge(int v);         }
};
Part A - Anatomy of a C++ Program
The class

class declaration (header file)   class implementation (cpp file)
class MyClass                    #include "myclass.h"
{
private:                         MyClass::MyClass() {
    int age;                         MyClass(0);
                                 }
     void anotherBirthday() {
         age++;                  MyClass::MyClass(int initialValue) {
     }                               this->setAge(initialValue);
                                 }
public:
    MyClass();                   MyClass::~MyClass() {
    MyClass(int initialValue);       age = 0;
                                 }
     ~MyClass();
     int getAge() {              void MyClass::setAge(int v) {
         return age;                 if (age == v) return;
     }                               age = v;
     void setAge(int v);         }
};
Part A - Anatomy of a C++ Program
The class

class declaration (header file)   class implementation (cpp file)
class MyClass                    #include "myclass.h"
{
private:                         MyClass::MyClass() {
    int age;                         MyClass(0);
                                 }
     void anotherBirthday() {
         age++;                  MyClass::MyClass(int initialValue) {
     }                               this->setAge(initialValue);
                                 }
public:
    MyClass();                   MyClass::~MyClass() {
    MyClass(int initialValue);       age = 0;
                                 }
     ~MyClass();
     int getAge() {              void MyClass::setAge(int v) {
         return age;                 if (age == v) return;
     }                               age = v;
     void setAge(int v);         }
};
Part A - Anatomy of a C++ Program
The class

class declaration (header file)   class implementation (cpp file)
class MyClass                    #include "myclass.h"
{
private:                         MyClass::MyClass() {
    int age;                         MyClass(0);
                                 }
     void anotherBirthday() {
         age++;                  MyClass::MyClass(int initialValue) {
     }                               this->setAge(initialValue);
                                 }
public:
    MyClass();                   MyClass::~MyClass() {
    MyClass(int initialValue);       age = 0;
                                 }
     ~MyClass();
     int getAge() {              void MyClass::setAge(int v) {
         return age;                 if (age == v) return;
     }                               age = v;
     void setAge(int v);         }
};
Part A - Anatomy of a C++ Program
The class

class declaration (header file)   class implementation (cpp file)
class MyClass                    #include "myclass.h"
{
private:                         MyClass::MyClass() {
    int age;                         MyClass(0);
                                 }
     void anotherBirthday() {
         age++;                  MyClass::MyClass(int initialValue) {
     }                               this->setAge(initialValue);
                                 }
public:
    MyClass();                   MyClass::~MyClass() {
    MyClass(int initialValue);       age = 0;
                                 }
     ~MyClass();
     int getAge() {              void MyClass::setAge(int v) {
         return age;                 if (age == v) return;
     }                               age = v;
     void setAge(int v);         }
};
Part A - Anatomy of a C++ Program
The class

class declaration (header file)   class implementation (cpp file)
class MyClass                    #include "myclass.h"
{
private:                         MyClass::MyClass() {
    int age;                         MyClass(0);
                                 }
     void anotherBirthday() {
         age++;                  MyClass::MyClass(int initialValue) {
     }                               this->setAge(initialValue);
                                 }
public:
    MyClass();                   MyClass::~MyClass() {
    MyClass(int initialValue);       age = 0;
                                 }
     ~MyClass();
     int getAge() {              void MyClass::setAge(int v) {
         return age;                 if (age == v) return;
     }                               age = v;
     void setAge(int v);         }
};
Part A - Anatomy of a C++ Program
The class

class declaration (header file)   class implementation (cpp file)
class MyClass                    #include "myclass.h"
{
private:                         MyClass::MyClass() {
    int age;                         MyClass(0);
                                 }
     void anotherBirthday() {
         age++;                  MyClass::MyClass(int initialValue) {
     }                               this->setAge(initialValue);
                                 }
public:
    MyClass();                   MyClass::~MyClass() {
    MyClass(int initialValue);       age = 0;
                                 }
     ~MyClass();
     int getAge() {              void MyClass::setAge(int v) {
         return age;                 if (age == v) return;
     }                               age = v;
     void setAge(int v);         }
};
Part A - Anatomy of a C++ Program
The class

class declaration (header file)   class implementation (cpp file)
class MyClass                    #include "myclass.h"
{
private:                         MyClass::MyClass() {
    int age;                         MyClass(0);
                                 }
     void anotherBirthday() {
         age++;                  MyClass::MyClass(int initialValue) {
     }                               this->setAge(initialValue);
                                 }
public:
    MyClass();                   MyClass::~MyClass() {
    MyClass(int initialValue);       age = 0;
                                 }
     ~MyClass();
     int getAge() {              void MyClass::setAge(int v) {
         return age;                 if (age == v) return;
     }                               age = v;
     void setAge(int v);         }
};
Part A - Anatomy of a C++ Program
The class

class declaration (header file)   class implementation (cpp file)
class MyClass                    #include "myclass.h"
{
private:                         MyClass::MyClass() {
    int age;                         MyClass(0);
                                 }
     void anotherBirthday() {
         age++;                  MyClass::MyClass(int initialValue) {
     }                               this->setAge(initialValue);
                                 }
public:
    MyClass();                   MyClass::~MyClass() {
    MyClass(int initialValue);       age = 0;
                                 }
     ~MyClass();
     int getAge() {              void MyClass::setAge(int v) {
         return age;                 if (age == v) return;
     }                               age = v;
     void setAge(int v);         }
};
Part A - Anatomy of a C++ Program
The class

class declaration (header file)   class implementation (cpp file)
class MyClass                    #include "myclass.h"
{
private:                         MyClass::MyClass() {
    int age;                         MyClass(0);
                                 }
     void anotherBirthday() {
         age++;                  MyClass::MyClass(int initialValue) {
     }                               this->setAge(initialValue);
                                 }
public:
    MyClass();                   MyClass::~MyClass() {
    MyClass(int initialValue);       age = 0;
                                 }
     ~MyClass();
     int getAge() {              void MyClass::setAge(int v) {
         return age;                 if (age == v) return;
     }                               age = v;
     void setAge(int v);         }
};
Instantiating objects
✤   Two options

    ✤   MyClass a(18);

    ✤   a.setAge(21);

✤   Pointer type (heap only)

    ✤   MyClass *a;

    ✤   a = new MyClass();

    ✤   a->setAge(21);

    ✤   delete a;
Strings

✤   C++ has a standard string library

    ✤   #include <string>

    ✤   Create strings:

        ✤   std::string s = "Hello";

    ✤   Concatenate strings using “operator overloading”

        ✤   s = s + " world";
Videos



✤   See videos on the module site

    ✤   C++

    ✤   Qt

More Related Content

PDF
Let's Practice What We Preach: Likelihood Methods for Monte Carlo Data
PDF
Test beautycleanness
PPTX
ACM Distinguished Program: Cooperative Testing and Analysis: Human-Tool, Tool...
PDF
Reactive Collections
PDF
Scala for Java Devs
PDF
FluxGraph @ GraphDevRoom
PPT
Object Lifetime In C C++
PDF
C++ programming intro
Let's Practice What We Preach: Likelihood Methods for Monte Carlo Data
Test beautycleanness
ACM Distinguished Program: Cooperative Testing and Analysis: Human-Tool, Tool...
Reactive Collections
Scala for Java Devs
FluxGraph @ GraphDevRoom
Object Lifetime In C C++
C++ programming intro

Similar to 87fg8df7g8df7g87sd7f8s7df8sdf7 (20)

PDF
Object Oriented Programming (OOP) using C++ - Lecture 2
PPT
data Structure Lecture 1
DOCX
Oop lab report
PDF
Declaring friend function with inline code
PDF
C++ L09-Classes Part2
PPT
Lec 45.46- virtual.functions
DOCX
Practical File of c++.docx lab manual program question
PPTX
intro to programming presentation .pptx
PPTX
PDF
Classes
PPTX
Oop c++class(final).ppt
PPT
Lecture07
PDF
CS225_Prelecture_Notes 2nd
PDF
C++primer
PDF
Object Oriented Programming Using C++ Practical File
PPTX
Cs1123 11 pointers
PPT
Lecture 12: Classes and Files
TXT
Advance C++notes
PPT
C++lecture9
Object Oriented Programming (OOP) using C++ - Lecture 2
data Structure Lecture 1
Oop lab report
Declaring friend function with inline code
C++ L09-Classes Part2
Lec 45.46- virtual.functions
Practical File of c++.docx lab manual program question
intro to programming presentation .pptx
Classes
Oop c++class(final).ppt
Lecture07
CS225_Prelecture_Notes 2nd
C++primer
Object Oriented Programming Using C++ Practical File
Cs1123 11 pointers
Lecture 12: Classes and Files
Advance C++notes
C++lecture9
Ad

87fg8df7g8df7g87sd7f8s7df8sdf7

  • 1. Unix Programming C++ and Qt February 2010
  • 2. C++ ✤ Object Orientated Language ✤ Adds to the C Language ✤ Pre-dates Java and C# ✤ Fully Compiled ✤ Standard Libraries (such as strings)
  • 3. C++ ✤ Points of interest ✤ Multiple Inheritance ✤ Operator overloading ✤ Templates ✤ Strings
  • 4. C++ ✤ Things you might miss ✤ No garbage collection - manual memory management ✤ No collections ✤ You can use the Standard Template Library (STL)
  • 5. Qt ✤ Cross platform GUI framework ✤ Compatible at source level ✤ C++ based Object Orientated Framework ✤ With some (rather good) Qt extensions ✤ Lots of useful components (strings, networking, Variant data types etc..) ✤ Available on Linux, Mac OS, Symbian, MS Windows,........
  • 6. Part A - Anatomy of a C++ Program The class class declaration (header file) class implementation (cpp file) class MyClass #include "myclass.h" { private: MyClass::MyClass() { int age; MyClass(0); } void anotherBirthday() { age++; MyClass::MyClass(int initialValue) { } this->setAge(initialValue); } public: MyClass(); MyClass::~MyClass() { MyClass(int initialValue); age = 0; } ~MyClass(); int getAge() { void MyClass::setAge(int v) { return age; if (age == v) return; } age = v; void setAge(int v); } };
  • 7. Part A - Anatomy of a C++ Program The class class declaration (header file) class implementation (cpp file) class MyClass #include "myclass.h" { private: MyClass::MyClass() { int age; MyClass(0); } void anotherBirthday() { age++; MyClass::MyClass(int initialValue) { } this->setAge(initialValue); } public: MyClass(); MyClass::~MyClass() { MyClass(int initialValue); age = 0; } ~MyClass(); int getAge() { void MyClass::setAge(int v) { return age; if (age == v) return; } age = v; void setAge(int v); } };
  • 8. Part A - Anatomy of a C++ Program The class class declaration (header file) class implementation (cpp file) class MyClass #include "myclass.h" { private: MyClass::MyClass() { int age; MyClass(0); } void anotherBirthday() { age++; MyClass::MyClass(int initialValue) { } this->setAge(initialValue); } public: MyClass(); MyClass::~MyClass() { MyClass(int initialValue); age = 0; } ~MyClass(); int getAge() { void MyClass::setAge(int v) { return age; if (age == v) return; } age = v; void setAge(int v); } };
  • 9. Part A - Anatomy of a C++ Program The class class declaration (header file) class implementation (cpp file) class MyClass #include "myclass.h" { private: MyClass::MyClass() { int age; MyClass(0); } void anotherBirthday() { age++; MyClass::MyClass(int initialValue) { } this->setAge(initialValue); } public: MyClass(); MyClass::~MyClass() { MyClass(int initialValue); age = 0; } ~MyClass(); int getAge() { void MyClass::setAge(int v) { return age; if (age == v) return; } age = v; void setAge(int v); } };
  • 10. Part A - Anatomy of a C++ Program The class class declaration (header file) class implementation (cpp file) class MyClass #include "myclass.h" { private: MyClass::MyClass() { int age; MyClass(0); } void anotherBirthday() { age++; MyClass::MyClass(int initialValue) { } this->setAge(initialValue); } public: MyClass(); MyClass::~MyClass() { MyClass(int initialValue); age = 0; } ~MyClass(); int getAge() { void MyClass::setAge(int v) { return age; if (age == v) return; } age = v; void setAge(int v); } };
  • 11. Part A - Anatomy of a C++ Program The class class declaration (header file) class implementation (cpp file) class MyClass #include "myclass.h" { private: MyClass::MyClass() { int age; MyClass(0); } void anotherBirthday() { age++; MyClass::MyClass(int initialValue) { } this->setAge(initialValue); } public: MyClass(); MyClass::~MyClass() { MyClass(int initialValue); age = 0; } ~MyClass(); int getAge() { void MyClass::setAge(int v) { return age; if (age == v) return; } age = v; void setAge(int v); } };
  • 12. Part A - Anatomy of a C++ Program The class class declaration (header file) class implementation (cpp file) class MyClass #include "myclass.h" { private: MyClass::MyClass() { int age; MyClass(0); } void anotherBirthday() { age++; MyClass::MyClass(int initialValue) { } this->setAge(initialValue); } public: MyClass(); MyClass::~MyClass() { MyClass(int initialValue); age = 0; } ~MyClass(); int getAge() { void MyClass::setAge(int v) { return age; if (age == v) return; } age = v; void setAge(int v); } };
  • 13. Part A - Anatomy of a C++ Program The class class declaration (header file) class implementation (cpp file) class MyClass #include "myclass.h" { private: MyClass::MyClass() { int age; MyClass(0); } void anotherBirthday() { age++; MyClass::MyClass(int initialValue) { } this->setAge(initialValue); } public: MyClass(); MyClass::~MyClass() { MyClass(int initialValue); age = 0; } ~MyClass(); int getAge() { void MyClass::setAge(int v) { return age; if (age == v) return; } age = v; void setAge(int v); } };
  • 14. Part A - Anatomy of a C++ Program The class class declaration (header file) class implementation (cpp file) class MyClass #include "myclass.h" { private: MyClass::MyClass() { int age; MyClass(0); } void anotherBirthday() { age++; MyClass::MyClass(int initialValue) { } this->setAge(initialValue); } public: MyClass(); MyClass::~MyClass() { MyClass(int initialValue); age = 0; } ~MyClass(); int getAge() { void MyClass::setAge(int v) { return age; if (age == v) return; } age = v; void setAge(int v); } };
  • 15. Part A - Anatomy of a C++ Program The class class declaration (header file) class implementation (cpp file) class MyClass #include "myclass.h" { private: MyClass::MyClass() { int age; MyClass(0); } void anotherBirthday() { age++; MyClass::MyClass(int initialValue) { } this->setAge(initialValue); } public: MyClass(); MyClass::~MyClass() { MyClass(int initialValue); age = 0; } ~MyClass(); int getAge() { void MyClass::setAge(int v) { return age; if (age == v) return; } age = v; void setAge(int v); } };
  • 16. Part A - Anatomy of a C++ Program The class class declaration (header file) class implementation (cpp file) class MyClass #include "myclass.h" { private: MyClass::MyClass() { int age; MyClass(0); } void anotherBirthday() { age++; MyClass::MyClass(int initialValue) { } this->setAge(initialValue); } public: MyClass(); MyClass::~MyClass() { MyClass(int initialValue); age = 0; } ~MyClass(); int getAge() { void MyClass::setAge(int v) { return age; if (age == v) return; } age = v; void setAge(int v); } };
  • 17. Part A - Anatomy of a C++ Program The class class declaration (header file) class implementation (cpp file) class MyClass #include "myclass.h" { private: MyClass::MyClass() { int age; MyClass(0); } void anotherBirthday() { age++; MyClass::MyClass(int initialValue) { } this->setAge(initialValue); } public: MyClass(); MyClass::~MyClass() { MyClass(int initialValue); age = 0; } ~MyClass(); int getAge() { void MyClass::setAge(int v) { return age; if (age == v) return; } age = v; void setAge(int v); } };
  • 18. Part A - Anatomy of a C++ Program The class class declaration (header file) class implementation (cpp file) class MyClass #include "myclass.h" { private: MyClass::MyClass() { int age; MyClass(0); } void anotherBirthday() { age++; MyClass::MyClass(int initialValue) { } this->setAge(initialValue); } public: MyClass(); MyClass::~MyClass() { MyClass(int initialValue); age = 0; } ~MyClass(); int getAge() { void MyClass::setAge(int v) { return age; if (age == v) return; } age = v; void setAge(int v); } };
  • 19. Part A - Anatomy of a C++ Program The class class declaration (header file) class implementation (cpp file) class MyClass #include "myclass.h" { private: MyClass::MyClass() { int age; MyClass(0); } void anotherBirthday() { age++; MyClass::MyClass(int initialValue) { } this->setAge(initialValue); } public: MyClass(); MyClass::~MyClass() { MyClass(int initialValue); age = 0; } ~MyClass(); int getAge() { void MyClass::setAge(int v) { return age; if (age == v) return; } age = v; void setAge(int v); } };
  • 20. Part A - Anatomy of a C++ Program The class class declaration (header file) class implementation (cpp file) class MyClass #include "myclass.h" { private: MyClass::MyClass() { int age; MyClass(0); } void anotherBirthday() { age++; MyClass::MyClass(int initialValue) { } this->setAge(initialValue); } public: MyClass(); MyClass::~MyClass() { MyClass(int initialValue); age = 0; } ~MyClass(); int getAge() { void MyClass::setAge(int v) { return age; if (age == v) return; } age = v; void setAge(int v); } };
  • 21. Part A - Anatomy of a C++ Program The class class declaration (header file) class implementation (cpp file) class MyClass #include "myclass.h" { private: MyClass::MyClass() { int age; MyClass(0); } void anotherBirthday() { age++; MyClass::MyClass(int initialValue) { } this->setAge(initialValue); } public: MyClass(); MyClass::~MyClass() { MyClass(int initialValue); age = 0; } ~MyClass(); int getAge() { void MyClass::setAge(int v) { return age; if (age == v) return; } age = v; void setAge(int v); } };
  • 22. Instantiating objects ✤ Two options ✤ MyClass a(18); ✤ a.setAge(21); ✤ Pointer type (heap only) ✤ MyClass *a; ✤ a = new MyClass(); ✤ a->setAge(21); ✤ delete a;
  • 23. Strings ✤ C++ has a standard string library ✤ #include <string> ✤ Create strings: ✤ std::string s = "Hello"; ✤ Concatenate strings using “operator overloading” ✤ s = s + " world";
  • 24. Videos ✤ See videos on the module site ✤ C++ ✤ Qt

Editor's Notes