Форум программистов, компьютерный форум CyberForum.ru

Покритикуйте код - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ правильно записать выражения арифметические http://www.cyberforum.ru/cpp-beginners/thread359628.html
суть задания по фортрану и си записать выражения и посчитать их..я записала но результаты выходят разные.. помогите пожалуйста записать правильно задание моя запись на фортран Код:
C++ исправить функцию нахождения гласных букв в массиве Помогите,пожалуйста, исправить функцию, которая суммирует вероятности нахождения букв в строке(строка массив типа char,слова разделены пробелами). Если хотя бы в одном слове нет гласных букв,то вероятность строки считаем 0. Если во всех словах есть гласные буквы,то вероятность равна сумме вероятностей всех букв в строке. вроде просто сделать, но как только не пробовал - не получается. исправить... http://www.cyberforum.ru/cpp-beginners/thread359623.html
C++ Найти все простые числа на отрезке [a,b].
Изучаем C++ месяц. Сейчас сидим на циклах. Условие задачи, собственно, и есть название темы. К сожалению, справиться с ней у меня не получается. Нашел только в гугле программу которая выводит простые числа в интервале от 1 до 100, но там присутствуют операторы, которых мы еще не изучали. Вообщем, буду очень признателен, если кто-нибудь поможет с решением задачи.
ln - ряд Тейлора C++
double ln(double x, double eps) { double T,S; int K; T=x; K=1; S=T; do{ K=K+1; T=-T*x/K; S=S+T;
C++ printf и scanf против cin и cout http://www.cyberforum.ru/cpp-beginners/thread359575.html
Друзья мои,стал учить плюсы и столкнулся с кучей противоречий. То что в С нет cin/cout я знаю. Но вот в С++ возможно использование printf/scanf. Объясните мне разницу этих операторов. Из того,что я находил,говорилось,что cin/cout - сам понимает что и как принимать/выводить и что-то о скорости вывода,но ничего дельного. Объясните пожалуйста на более достойном уровне разницу. Спасибо)
C++ Помогите с макросом нужно написать макрос(если это возможно) сейчас у меня код выглядит так: std::cin<<a<<b<<c; а после обработки должно выглядить так if(read)std::cout<<a<<b<<c; write(a);write(b);write(с); причем букв a b с может быть любое количество(от одного до 5) подробнее

Показать сообщение отдельно
Gepar
 Аватар для Gepar
1173 / 529 / 20
Регистрация: 01.07.2009
Сообщений: 3,512
03.10.2011, 01:23  [ТС]     Покритикуйте код
Странно, что-то не срабатывает моя перегрузка оператора...
итератор:
C++
1
 CStudent& operator*(){return current->student;}
в классе Students.h:
C++
1
friend std::ostream &operator<<(std::ostream &os, const CStudent &st);
в Students.cpp:
C++
1
2
3
4
5
6
7
8
std::ostream &operator<<(std::ostream &os, const CStudent &st)
{
    os<<setw(15)<<left<<st.fullname
     <<setw(7)<<st.group
     <<setw(5)<<st.year
     <<setw(7)<<st.average<<"\n";
 
}
в main:
C++
1
2
3
    cout<<"\nPrint list with ostream:\n";
    for(it=test.begin();it!=test.end();it++)
     cout<<(*it);
И не хочет, пишет что не нашло:
C++
1
C:\c++\Projects\StudentsProject\main.cpp|74|error: no match for 'operator<<' in 'std::cout << it.Students::iterator::operator*()'|
Странно.

Добавлено через 2 минуты
Хотя я вспомнил что перегрузка же должна быть отдельно от объявления, и всё же почему не подходит cpp файл, это разве не отдельно (из main компилируется если в main запихнуть код перегрузки) ?
 
Текущее время: 09:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru