Instead of making a class for a specific item, you should make a broad "Item" class that you can create your items under.
I think the problem you might have is that you are trying to create a string by the name of your class in the private declaration. Also do you have your class functions coded?
class Item
{
public:
Item();
Item(string Name, string ItemDesc, int DatabaseID, int ItemType, int Attack, int Defense, int GoldValue, int Stack, int MaxStack, bool Stackable);
string GetItem() {return Name;}
string GetItemDesc() {return ItemDesc;}
int GetDatabaseID() {return DatabaseID;}
int GetItemType() {return ItemType;}
int GetAttack() {return Attack;}
int GetDefense() {return Defense;}
int GetGoldVale() {return GoldValue;}
int GetStack() {return Stack;}
int GetMaxStack() {return MaxStack;}
bool GetStackable() {return Stackable;}
private:
string Name;
string ItemDesc;
int DatabaseID;
int ItemType;
int Attack;
int Defense;
int GoldValue;
int Stack;
int MaxStack;
bool Stackable;
};
Then you could implement it by:
Item CopperSword("Copper Sword","Desc",1,1,1,1,1,1,1,false);