21.05.2015 / 20:55 | |
Naik Пользователь Сейчас: Offline
Имя: %name% Регистрация: 14.03.2010
| Freddy, пробовал,
qt_creator/Pet/main.cpp:24: error: invalid initialization of reference of type 'std::string& {aka std::basic_string<char>&}' from expression of type 'const string {aka const std::basic_string<char>}' return mName; ^
похоже требует поле сделать константой, но это не очень подходит
|
21.05.2015 / 20:56 | |
Naik Пользователь Сейчас: Offline
Имя: %name% Регистрация: 14.03.2010
| Цитата aNNiMON: Naik, а ты уверен, что p.getName, а не p->getName()? Как вообще поля и функции выглядят? Почему оно говорит, что-то про статический Pet::getName?короче вот код http://pastebin.com/6x7ei05e |
21.05.2015 / 21:29 | |
Freddy Пользователь Сейчас: Offline
Имя: Игорь Откуда: Воронеж Регистрация: 30.01.2010
| Naik, вот полный исходник, mName у меня не является константной: #include <string>
#include <time.h>
#include <iostream>
using namespace std;
class Pet {
public:
Pet(const Pet& p) {
mBirthTime = time(NULL);
mName = p.getName() + " child";
cout << "Pet copy constructor" << endl;
}
const string& getName() const {return mName;}
private:
string mName;
time_t mBirthTime;
};
int main() {
return 0;
}
Изменено Freddy (21.05 / 21:32) (всего 1 раз) |
3.06.2015 / 22:35 | |
Naik Пользователь Сейчас: Offline
Имя: %name% Регистрация: 14.03.2010
| Нужно создать игру в Qt. Там все на холсте рисуется, или есть какие то классы уже? Спрайт, тайл, анимация. И как цикл игровой сделать? Всё на событиях?
Изменено Naik (3.06 / 22:37) (всего 1 раз) |
5.06.2015 / 22:49 | |
Naik Пользователь Сейчас: Offline
Имя: %name% Регистрация: 14.03.2010
| Писал многофайловый проект. И получалось на каждый .cpp было по одному .h Быстро накопилось более 10 файлов.. Это же неудобно, что будет, если я создам 20 классов? 40 файлов В одном месте все писать тоже не дело, можно инклюдить просто файлы, но потом начинаешь путать что где реализовано и где что инклудится. Неудобно как-то |
5.06.2015 / 23:26 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| Naik, Разнеси заголовки в одну папку, реализацию в другую. А так, да, это одна из "фич" C++, привыкай)
__________________
let live |
6.06.2015 / 01:26 | |
Ксакеп Модератор форума Сейчас: Offline
Регистрация: 20.06.2012
| Naik, сложность O(n), всё норм.
Ещё можешь не создавать cpp, особенно при определениях классов.
|
6.07.2015 / 17:21 | |
fokoko12334 Пользователь
| Бросил этот язык, так как очень сложный.
|
6.07.2015 / 18:53 | |
Ксакеп Модератор форума Сейчас: Offline
Регистрация: 20.06.2012
| fokoko12334, и в чем была сложность?
|
7.07.2015 / 05:48 | |
StarTek Пользователь Сейчас: Offline
Имя: StarTek Откуда: Навои Регистрация: 14.06.2014
| Самое сложное здесь - отладка. К примеру делаешь свой класс. Если не будешь соблюдать правило трёх единств (в c++11 - 5) - segfault. Это для новичков которые не знают. Да и много тут подводных камней. Особенно не сразу поймёшь ошибку компиляции. Возможно это gcc, clang не пробовал.
|