CPerson::CPerson(long i,char* p,int a) { ID=i; Name=new char[strlen(p)+1]; strcpy(Name,p); Age=a; }
时间: 2023-12-06 19:41:37 浏览: 66
这是一个 C++ 类 CPerson 的构造函数。函数的参数包括长整型 i、字符指针 p 和整型 a。函数体内部首先将 i 赋值给类的成员变量 ID,然后分配内存空间给类的成员变量 Name,并将 p 中的字符串复制到 Name 中。最后将 a 赋值给类的成员变量 Age。需要注意的是,在使用完 Name 后需要手动释放内存空间,否则容易造成内存泄漏。
相关问题
*CPerson::getName()和CPerson::*getName()
这两者有什么区别?
第一个是类的成员函数,作用于某个具体的类,例如CPerson类,用法为:person.getName()。第二个是类的成员函数指针,可以作为函数参数或返回值,必须通过对象指针或对象引用调用,例如person.*getName()。使用时应注意函数指针指向的成员函数不能是虚函数。
CPerson::*getName()和*CPerson::getName()
这两个函数的区别是什么?
这两个函数的区别在于返回值的类型不同。CPerson::*getName()是一个成员函数指针,它返回的是一个指向类成员函数的指针。而*CPerson::getName()是一个函数调用操作符,它返回的是类成员函数的返回值。具体而言,前者用于获取类成员函数的地址,后者用于调用类成员函数并返回其返回值。
阅读全文