Size: a a a

IT KPI C/C++ ХВ (не UB)

2021 March 26

VD

Vlad Doc in IT KPI C/C++ ХВ (не UB)
Y S
А чего он выходил?
Он не выходил
источник

VD

Vlad Doc in IT KPI C/C++ ХВ (не UB)
Он это сюда написал)
источник

q

qwerty in IT KPI C/C++ ХВ (не UB)
Нет, я в группу питонистов заходил
источник

ЮЗ

Юра Зубрицкий... in IT KPI C/C++ ХВ (не UB)
Я очень посредственно разбираюсь в программировании. Прочитал заметку, мне понравилась, хоть и не всё понял.

Ожидал такой же реакции у других. На деле же статью разнесли
источник

ЮЗ

Юра Зубрицкий... in IT KPI C/C++ ХВ (не UB)
Всё таки, знание даёт возможность увидеть шире картину и показывает все стороны вопроса
источник
2021 March 27

VD

Vlad Doc in IT KPI C/C++ ХВ (не UB)
Зачем делать проверку состояния стрима в операторе?
источник

VD

Vlad Doc in IT KPI C/C++ ХВ (не UB)
Это должен делать юзеркод
источник

VD

Vlad Doc in IT KPI C/C++ ХВ (не UB)
Ну и как бе тебя внутрянка стрима не должна волновать
источник

VD

Vlad Doc in IT KPI C/C++ ХВ (не UB)
Два элемента считались и збс
источник

А

Антон in IT KPI C/C++ ХВ (не UB)
Vlad Doc
Зачем делать проверку состояния стрима в операторе?
он должен быть пустым, но все равно считывает элементы. Даже с проверкой на пустоту стрима первый элемент считывается( в нём мусор ) , а второй - нет
источник

P

Psixolog in IT KPI C/C++ ХВ (не UB)
Привет ребят
это CYLINDER.h
#include <string>
#include <iostream>

#ifndef CYLINDER
#define CYLINDER
class Cylinder{
   private:
      double radius;
      double height;
   public:
       Cylinder();
       Cylinder(const Cylinder &num);
       ~Cylinder();
       void setHeight(double h);
       double getHeight() const;
       void setRadius(double r);
       double getRadius() const;
       friend ostream &operator<<(ostream &output, const Cylinder &C );
       friend istream &operator>>(istream  &input, Cylinder &C );
};


#endif

А это Cylinder.cpp source file

#include <iostream>
#include "Cylinder.h"
using namespace std;

Cylinder::Cylinder(){
   height = 0;
   radius = 0;
}
Cylinder::Cylinder(const Cylinder &num){
   radius = num.radius;
   height = num.height;
}
void Cylinder::setHeight(double h){
   height = h;
}
double Cylinder::getHeight() const{
   return height;
};
void Cylinder::setRadius(double r){
   radius = r;
}
double Cylinder::getRadius() const{
   return radius;
}
ostream &operator<<( ostream &output, const Cylinder &C ) {
        output << "Radius : " << C.radius << " Height : " << C.height;
        return output;            
}
istream &operator>>( istream  &input, Cylinder &C ) {
        input >> C.radius >> C.height;
        return input;            
}

У
меня ошибка в istream и ostream в C.radius C.height

член "Cylinder::radius" (объявлено в строке 8 из "D:\Coding\C++\lab5\Cylinder.h") недоступно
член "Cylinder::height" (объявлено в строке 9 из "D:\Coding\C++\lab5\Cylinder.h") недоступно
источник

KS

Kyryl Sydorov in IT KPI C/C++ ХВ (не UB)
для чого френдити оператори, якщо можна використати геттери?)
источник

AP

Alexander Pavlyuchuk in IT KPI C/C++ ХВ (не UB)
что б никто не мог другой гетеры юзать
источник

AP

Alexander Pavlyuchuk in IT KPI C/C++ ХВ (не UB)
френд операторы - это нормально
источник

AP

Alexander Pavlyuchuk in IT KPI C/C++ ХВ (не UB)
а, у него гетеры уже прописаны и так
источник

AP

Alexander Pavlyuchuk in IT KPI C/C++ ХВ (не UB)
ну тогда хз какой смысл)))
источник

KS

Kyryl Sydorov in IT KPI C/C++ ХВ (не UB)
Alexander Pavlyuchuk
а, у него гетеры уже прописаны и так
+
источник

KS

Kyryl Sydorov in IT KPI C/C++ ХВ (не UB)
я ж про це й кажу)))
источник

G

GNU/Vsevolod in IT KPI C/C++ ХВ (не UB)
Psixolog
Привет ребят
это CYLINDER.h
#include <string>
#include <iostream>

#ifndef CYLINDER
#define CYLINDER
class Cylinder{
   private:
      double radius;
      double height;
   public:
       Cylinder();
       Cylinder(const Cylinder &num);
       ~Cylinder();
       void setHeight(double h);
       double getHeight() const;
       void setRadius(double r);
       double getRadius() const;
       friend ostream &operator<<(ostream &output, const Cylinder &C );
       friend istream &operator>>(istream  &input, Cylinder &C );
};


#endif

А это Cylinder.cpp source file

#include <iostream>
#include "Cylinder.h"
using namespace std;

Cylinder::Cylinder(){
   height = 0;
   radius = 0;
}
Cylinder::Cylinder(const Cylinder &num){
   radius = num.radius;
   height = num.height;
}
void Cylinder::setHeight(double h){
   height = h;
}
double Cylinder::getHeight() const{
   return height;
};
void Cylinder::setRadius(double r){
   radius = r;
}
double Cylinder::getRadius() const{
   return radius;
}
ostream &operator<<( ostream &output, const Cylinder &C ) {
        output << "Radius : " << C.radius << " Height : " << C.height;
        return output;            
}
istream &operator>>( istream  &input, Cylinder &C ) {
        input >> C.radius >> C.height;
        return input;            
}

У
меня ошибка в istream и ostream в C.radius C.height

член "Cylinder::radius" (объявлено в строке 8 из "D:\Coding\C++\lab5\Cylinder.h") недоступно
член "Cylinder::height" (объявлено в строке 9 из "D:\Coding\C++\lab5\Cylinder.h") недоступно
Де дефінішн деструктора?
Нема директиви include для istream/ostream в хедері
источник

OS

Oleksandr Shaposhnik... in IT KPI C/C++ ХВ (не UB)
GNU/Vsevolod
Де дефінішн деструктора?
Нема директиви include для istream/ostream в хедері
iostream включает оба, деструктор implicit
источник