#include <iostream>
using namespace std;
// Define a simple class
class Student {
public:
string name;
int id;
void display() {
cout << "Name: " << name << ", ID: " << id << endl;
}
};
int main() {
Student s1; // create object
s1.name = "Alice";
s1.id = 101;
Student* ptr = &s1; // create pointer to object
// Access members using the arrow operator
ptr->display(); // prints: Name: Alice, ID: 101
// Modify members using the pointer
ptr->name = "Bob";
ptr->id = 102;//if this line is comment out this shows id of alice .so this ptr is just reassigning the value
ptr->display(); // prints: Name: Bob, ID: 102
/*if there was another object s2 and ptr was pointing to s2 then first ptr->display will not work.because we didnt set the value;
it same like int* p=&x;
*p=10//would change the value x;
this *p is now written as p-> and as class has many info p->variable(which has to be set )should be written */
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwogCi8vIERlZmluZSBhIHNpbXBsZSBjbGFzcwpjbGFzcyBTdHVkZW50IHsKcHVibGljOgogICAgc3RyaW5nIG5hbWU7CiAgICBpbnQgaWQ7CiAKICAgIHZvaWQgZGlzcGxheSgpIHsKICAgICAgICBjb3V0IDw8ICJOYW1lOiAiIDw8IG5hbWUgPDwgIiwgSUQ6ICIgPDwgaWQgPDwgZW5kbDsKICAgIH0KfTsKIAppbnQgbWFpbigpIHsKICAgIFN0dWRlbnQgczE7ICAgICAgICAgICAgICAvLyBjcmVhdGUgb2JqZWN0CiAgICBzMS5uYW1lID0gIkFsaWNlIjsKICAgIHMxLmlkID0gMTAxOwogCiAgICBTdHVkZW50KiBwdHIgPSAmczE7ICAgICAgLy8gY3JlYXRlIHBvaW50ZXIgdG8gb2JqZWN0CiAKICAgIC8vIEFjY2VzcyBtZW1iZXJzIHVzaW5nIHRoZSBhcnJvdyBvcGVyYXRvcgogICAgIHB0ci0+ZGlzcGxheSgpOyAgICAgICAgICAvLyBwcmludHM6IE5hbWU6IEFsaWNlLCBJRDogMTAxCiAKICAgIC8vIE1vZGlmeSBtZW1iZXJzIHVzaW5nIHRoZSBwb2ludGVyCiAKICAgIHB0ci0+bmFtZSA9ICJCb2IiOwogICAgcHRyLT5pZCA9IDEwMjsvL2lmIHRoaXMgbGluZSBpcyBjb21tZW50IG91dCB0aGlzIHNob3dzIGlkIG9mIGFsaWNlIC5zbyB0aGlzIHB0ciBpcyBqdXN0IHJlYXNzaWduaW5nIHRoZSB2YWx1ZQogCiAgICBwdHItPmRpc3BsYXkoKTsgICAgICAgICAgLy8gcHJpbnRzOiBOYW1lOiBCb2IsIElEOiAxMDIKIAogICAgLyppZiB0aGVyZSB3YXMgYW5vdGhlciBvYmplY3QgczIgYW5kIHB0ciB3YXMgcG9pbnRpbmcgdG8gczIgdGhlbiBmaXJzdCBwdHItPmRpc3BsYXkgd2lsbCBub3Qgd29yay5iZWNhdXNlIHdlIGRpZG50IHNldCB0aGUgdmFsdWU7CiAgICBpdCBzYW1lIGxpa2UgaW50KiBwPSZ4OwogICAgICAgICAgICAgICAgICpwPTEwLy93b3VsZCBjaGFuZ2UgdGhlIHZhbHVlIHg7CiAgICAgICAgICAgICAgICAgdGhpcyAqcCBpcyBub3cgd3JpdHRlbiBhcyAgcC0+IGFuZCBhcyBjbGFzcyBoYXMgbWFueSBpbmZvIHAtPnZhcmlhYmxlKHdoaWNoIGhhcyB0byBiZSBzZXQgKXNob3VsZCBiZSB3cml0dGVuICovCiAKICAgIHJldHVybiAwOwp9CiA=