My Object Class

来源:互联网 发布:java异常处理机制简述 编辑:程序博客网 时间:2024/05/01 10:20

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

__interface IObject
{
public:
 bool SetAlias(char*);
 const char* GetAlias();
 const int GetID();
};

class object: public IObject
{
public:
 object(int objID)
 {
  ID = objID;
  Alias = (char*)malloc(1);
  memset(Alias, '/0', 1);
 };

 object(int objID, char* str)
 {
  ID = objID;

  int count=strlen(str);
  Alias = (char*)malloc(count+1);
  memset(Alias, '/0', count+1);
  strncpy(Alias, str, count);
 };

 ~object()
 {
  free(Alias);
 };

 bool SetAlias(char* str)
 {
  free(Alias);

  int count=strlen(str);
  Alias = (char*)malloc(count+1);
  memset(Alias, '/0', count+1);
  strncpy(Alias, str, count);

  return true;
 };
 const char* GetAlias(){return Alias;};
 const int GetID(){ return ID;};

private:
 char* Alias;
 int ID;
};

void main()
{
 char* name = "new object!";
 object myobj1(1, name);
 printf(myobj1.GetAlias());

 printf("/n");
 printf("%d/n", '/0');
 printf("/n");

 object myobj2(2);
 printf(myobj2.GetAlias());
}

原创粉丝点击