1. Program to swap private data members of classes named `class1` and `class2` using a friend function.
#include <iostream.h>
#include<conio.h>
class class2;
class class1 {
private:
int x;
public:
class1(int x) : x(x) {}
friend void swap(class1& obj1, class2& obj2);
void print() {
cout << "Class1: " << x << endl;
}
};
class class2 {
private:
int y;
public:
class2(int y) : y(y) {}
friend void swap(class1& obj1, class2& obj2);
void print() {
cout << "Class2: " << y << endl;
}
};
void swap(class1& obj1, class2& obj2) {
int temp = obj1.x;
obj1.x = obj2.y;
obj2.y = temp;
}
int main() {
class1 obj1(10);
class2 obj2(20);
cout << "Before swapping:\n";
obj1.print();
obj2.print();
swap(obj1, obj2);
cout << "\nAfter swapping:\n";
obj1.print();
obj2.print();
getch();
return 0;
}