Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)
Paste
Pasted as C++ by Luan ( 6 years ago )
#include <iostream>
using namespace std;
template<typename MyTemplate>
class Line
{
public:
int getNum() const;
Line(MyTemplate value); // overloaded constructor
Line(const Line& obj); // copy constructor
~Line(); // destructor
Line& operator=(const Line&);
private:
MyTemplate* ptr;
};
// Member functions definitions /////////////////////////////////////
template<typename MyTemplate>
Line<MyTemplate>::Line(MyTemplate num) // Overloaded constructor
{
cout << "Overloaded constructor." << endl;
ptr = new MyTemplate;
*ptr = num;
}
template<typename MyTemplate>
Line<MyTemplate>::Line(const Line& obj) // Copy constructor
{
cout << "Copy constructor." << endl;
ptr = new MyTemplate;
*ptr = *obj.ptr;
}
template<typename MyTemplate>
Line<MyTemplate>::~Line() // Destructor
{
cout << "Freeing memory!" << endl;
delete ptr;
}
template<typename MyTemplate>
Line<MyTemplate>& Line<MyTemplate>::operator=
(const Line<MyTemplate>& right) // = operator
{
if (&right != this) {
delete ptr;
ptr = new int;
*ptr = *(right.ptr);
}
return *this;
}
template<typename MyTemplate>
int Line<MyTemplate>::getNum() const // getNum method
{
return *ptr;
}
template<typename MyTemplate>
void displayNum(Line<MyTemplate> obj) // displayNum function
{
cout << "value of num : " << obj.getNum() << endl;
}
/////////////////////////////////////////////////////////////////////
// Main function for the program
int main() {
Line<int> line1(10);
Line<int> line2 = line1;
Line<int> line3(30);
line3 = line2;
displayNum(line1);
return 0;
}
Revise this Paste
Parent: 112317