create the binary search tree in c++
i have created Binary Search Tree,   here is code

    #include <iostream>
    using namespace std;
    class BST{
      int n,*v,vn;
     struct node{
       int val;
       node *left,*right;
       node (int v){ val=v; left=right=0;}
        };  node *root;
    
    				node *rinsert(node *p,int t){
    				 if (p==0){
    				  p=new node(t);
    				  n++;
    				 }
    				 else if (t<p->val){
    					 p->left=rinsert(p->left,t);
    
    				 }
    
    				 else if (t>p->val){
    					 p->right=rinsert(p->right,t);
    				}
    
    				 return p;
    
    
    				}
    				void traverse(node *p){
    
    				 if (p==0) return;
    				 traverse(p->left);
    				 v[vn++]=p->val;
    				 traverse(p->right);
    
    				}
    public:
    	BST(int maxelms,int maxval){ root=0;n=0;}
    	int size(){ return n;}
    	void insert(int v){ root=rinsert(root,v);  }
    	void report(int *x){ v=x;vn=0;traverse(root);}
    			
    		
    } ;
    int main(){
    	  BST binary_tree(12,25);
    
    
           return 0;
    }
i have used   features of binary tree,no problem i have is  wheather how to insert and print elements,i have a problem in finishing    this tree,please help me
create the binary search tree in c++
===

i have created Binary Search Tree,   here is code

    #include <iostream>
    using namespace std;
    class BST{
      int n,*v,vn;
     struct node{
       int val;
       node *left,*right;
       node (int v){ val=v; left=right=0;}
        };  node *root;
    
    				node *rinsert(node *p,int t){
    				 if (p==0){
    				  p=new node(t);
    				  n++;
    				 }
    				 else if (t<p->val){
    					 p->left=rinsert(p->left,t);
    
    				 }
    
    				 else if (t>p->val){
    					 p->right=rinsert(p->right,t);
    				}
    
    				 return p;
    
    
    				}
    				void traverse(node *p){
    
    				 if (p==0) return;
    				 traverse(p->left);
    				 v[vn++]=p->val;
    				 traverse(p->right);
    
    				}
    public:
    	BST(int maxelms,int maxval){ root=0;n=0;}
    	int size(){ return n;}
    	void insert(int v){ root=rinsert(root,v);  }
    	void report(int *x){ v=x;vn=0;traverse(root);}
    			
    		
    } ;
    int main(){
    	  BST binary_tree(12,25);
    
    
           return 0;
    }
i have used   features of binary tree,no problem i have is  wheather how to insert and print elements,i have a problem in finishing    this tree,please help me