破釜沉舟论坛 » 编程开发 » 对c++感兴趣的朋友可以看看,主要是指针很内存问题

2006-5-31 20:40 thingi
对c++感兴趣的朋友可以看看,主要是指针很内存问题

  一家公司面试题。

#include <string.h>
#include <stdio.h>


class Base
{
  private:
   char * name;
  public:
   Base(char * className)
   {
       name = new char[strlen(className)];
       strcpy(name, className);
   }

   ~Base()
   {
       delete name;
   }

   char * copyName()
   {
       char newname [256];
       strcpy(newname, name);
       return newname;
   }

   virtual char * getName()
   {
       return name;
   }

   static void print(Base base)
   {
       printf("name: %s\n" , base.name);
   }
};

class Subclass : public Base
{
  public:
   Subclass(char * className) : Base(className)
   {
   }
};

int main()
{
   Base * pBase = new Subclass("test");
   Base::print(*pBase);
   printf("name: %s\n", pBase->getName());
   printf("new name: %s\n", pBase->copyName());

   return 0;
}

页: [1]


Powered by Discuz! Archiver 5.5.0  © 2001-2006 Comsenz Inc.