cout in the class of c++ program

Course Queries Syllabus Queries 3 years ago

5.97K 2 0 0 0

User submissions are the sole responsibility of contributors, with TuteeHUB disclaiming liability for accuracy, copyrights, or consequences of use; content is for informational purposes only and not professional advice.

Answers (2)

Post Answer
profilepic.png
manpreet Tuteehub forum best answer Best Answer 3 years ago


I am writing a small program in C++. There is a class. Can you use cout in the class to output data. Such as cout << "Good times"; Don't you need then to overload << operator? I am trying to do that but it does not work only some errors. How to output data via cout having it in the class.
CPP file:

#include "University.hpp"
#include "Course.hpp"
//#include "Lecture.hpp"
#include 
#include 
#include 

using namespace std;

University::University() {
}
University::University(int capacity, string uni) {
    university = uni;
    cap = capacity;
    length = 0;
    myCourse = new Course[cap];    
}

University::University(University& orig) {
    copy(orig);
}

University::~University() {
    delete [] myCourse;
}

University & University:: operator=(University & other){
    if(this != &other){
        delete [] myCourse;
        copy(other);
    }
    return *this;
}

void University:: copy(University & other){
    if(this != &other){
       length = other.length;
       cap = other.cap;
       myCourse = new Course[cap];

       for(int x = 0; x < length; x++){
           myCourse[x] = other.myCourse[x];
       }       
    }    
}
void University:: addCourse(Course syllabus){
    if(length == cap){
        cap *= 2;
        Course * temp = new Course[cap];

        for(int x = 0; x < length; x++){
            temp[x] = myCourse[x];
        }
        myCourse = temp;        
    }
    myCourse[length] = syllabus;
    length++;

                                                
0 views
0 shares

profilepic.png
manpreet 3 years ago

You're trying to call ostringstream::operator<< with the argument being a Course. You need to define operator<< for Course as well. Sorry I missed this before. You should also remove the friend from the definition of operator<<(ostream&, const University&) though since it's only needed inside the class definition.


0 views   0 shares

No matter what stage you're at in your education or career, TuteeHUB will help you reach the next level that you're aiming for. Simply,Choose a subject/topic and get started in self-paced practice sessions to improve your knowledge and scores.

Similar Forum