Which of the following code snippets result in a memory leak? void StudentClass() { int * ptr = new int(3); } O int main() { StudentClass(); return 0; } int main() { StudentClass(); delete StudentClass(); return 0; } O int main() { StudentClass* stul = new StudentClass; StudentClass* stu2 = new StudentClass; StudentClass* stu3; stu3 = stul; stul = stu2; return 0; } int main() { StudentClass* stul = new StudentClass; StudentClass* stu2 = new StudentClass; delete stul; stul = stu2; return 0; }