У меня был установлен python 2.6 по умолчанию (Amazon EC2 AMI), но мне нужен python2.7 плюс некоторые внешние пакеты для моего приложения. Предполагая, что вы уже установили python2.7 вместе с python по умолчанию (в моем случае, 2.6). Вот как установить pip и пакеты для нестандартного python2.7
Установить pip для вашей версии python:
curl -O https://bootstrap.pypa.io/get-pip.py
python27 get-pip.py
Использовать конкретную версию для установки пакетов:
pip2.7 install mysql-connector-python --allow-external mysql-connector-python
вы создаете локальную переменную m1 в readfile. И тогда это отбрасывается, когда функция заканчивается. Возможно, вы хотите либо вернуть объект, либо установить текущий экземпляр
В функции Message::readFile()
вы вызываете не функции setMessage
и setCipher
для текущего объекта, а для локальной переменной m1. Локальная переменная отбрасывается в конце функции, и сообщение и шифр не сохраняются. Вместо этого вы должны просто позвонить
setMessage(fileMessage);
setCipher(fileCipher);
getMessage();
вместо
m1.setMessage(fileMessage);
m1.setCipher(fileCipher);
m1.getMessage();
Это обновит переменные сообщения и шифра текущего объекта, и вы сможете затем напечатать getMessage()
из main
функция.
Вам не нужно создавать объект внутри функции-члена этого класса.
Мое предложение:
Message m1;
в readFile()
Непосредственно называть функции как
setMessage(fileMessage);
setCipher(fileCipher);
getMessage();
Вы можете использовать это ; указатель на объект, над которым вы сейчас работаете. как показано ниже.
this->setMessage(fileMessage);
или
(*this).setMessage(fileMessage);