Hello,

Qt Code:
  1. class Sender : public QObject
  2. {
  3. Q_OBJECT
  4.  
  5. public:
  6. Sender(int val) : mVal(val) { }
  7.  
  8. signal:
  9. void intChanged(ChangeObject*);
  10.  
  11. public slots:
  12. void changeInt(int i) {
  13. mVal = i;
  14. emit intChanged(new ChangeObject(mVal));
  15. }
  16.  
  17. private:
  18. int mVal;
  19. };
  20.  
  21. class Receiver : public QObject
  22. {
  23. Q_OBJECT
  24.  
  25. public:
  26. Receiver();
  27.  
  28. public slots:
  29. void onIntChanged(ChangeObject* c) {
  30. mReceivedVal = c->changed();
  31. }
  32.  
  33. private:
  34. mReceivedVal;
  35. };
  36. class ChangeObject
  37. {
  38. public:
  39. ChangeObject(int changed) : mChanged(changed) { }
  40.  
  41. int changed() const { return mChanged; }
  42. private:
  43. int mChanged;
  44. };
To copy to clipboard, switch view to plain text mode 

Where to delete new created ChangeObject? in class Receiver? What about not handled signals with pointer parameter types? (like the Qt own signals that are not accepted ie e->accept() is not called in receiver object)

Thanks for any clarification