Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Объясните php-ку про c++ класс


Автор: yoweb 30.5.2013, 16:40
Есть класс:
header
Код

#ifndef MEMORY_H
#define MEMORY_H

class memoryShared
{
public:
    memoryShared();

public slots:
    void to();
    void from();

};

#endif // MEMORY_H


source
Код

#include "memory.h"
#include <QSharedMemory>
#include <QDebug>
#include <QBuffer>
#include <QDataStream>

QString string;
QSharedMemory sharedMemory;

void to(){
    // load into shared memory
         QBuffer buffer;
         buffer.open(QBuffer::ReadWrite);
         QDataStream out(&buffer);
         string = "start start start";
         out << string;
         int size = buffer.size();

         if (!sharedMemory.create(size)) {
             //ui.label->setText(tr("Unable to create shared memory segment."));
             return;
         }
         sharedMemory.lock();
         char *to = (char*)sharedMemory.data();
         const char *from = buffer.data().data();
         memcpy(to, from, qMin(sharedMemory.size(), size));
         sharedMemory.unlock();
}

void from()
{
    /*if (!sharedMemory.attach()) {
        ui.label->setText(tr("Unable to attach to shared memory segment.\n" \
                             "Load an image first."));
        return;
    }*/

    QBuffer buffer;
    QDataStream in(&buffer);

    sharedMemory.lock();
    buffer.setData((char*)sharedMemory.constData(), sharedMemory.size());
    buffer.open(QBuffer::ReadOnly);
    in >> string;
    sharedMemory.unlock();

    sharedMemory.detach();
    //ui.label->setPixmap(QPixmap::fromImage(image));
}


Как получить доступ к методам to или from этого класса из другого класса?

На примере напишите.

Автор: mes 30.5.2013, 18:08
Цитата(yoweb @  30.5.2013,  15:40 Найти цитируемый пост)

Как получить доступ к методам to или from этого класса из другого класса?

что значит получить доступ ? они у Вас доступны для всех..  берите обьект и применяйте к нему / вызывайте у него эти методы..

Добавлено через 3 минуты и 8 секунд
Цитата(yoweb @  30.5.2013,  15:40 Найти цитируемый пост)
Объясните php-ку

а с пхп-классами, точно знакомы ? так напишите короткий пример требуемого, мы поможем с аналогом на с++..

Добавлено через 4 минуты и 38 секунд
и  снова тема для раздела новичков.. к "C/C++: Программирование под Unix/Linux" отношения не имеет.. smile

Автор: Result 30.5.2013, 20:34
На сколько помню для слотов нужно в объявлении класса (*.h) юзать макрос Q_OBJECT

>Как получить доступ к методам to или from этого класса из другого класса?
для начала их правильно определить:

Код

void memoryShared::to(){
     throw("bugaga");
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)