#include<iostream>#include<cstring>// if use strlen() funtion, plus it#include<string.h>// if use strcpy(),plus itusingnamespace std;classstudent{private:int id;char*name;char sex;int age;public:student(int pid,char*name,char psex,int page);voidpout();~student();// ~ the signal of destruct function};
student::student(int pid,char*pname,char psex,int page){
id=pid;
name=newchar[strlen(pname)+1];//sring is somwhat like array,square bracket instead of round bracketstrcpy(name,pname);// easily to forget ,you just assign memory for name but not assign pname a value
sex=psex;
age=page;}void student::pout(){
cout<<"ID:"<<id<<"\t"<<"name:"<<name<<"\t"<<"sex:"<<sex<<"\t"<<"age:"<<age<<endl;}
student::~student(){delete[] name;}intmain(void){
student one(001,"mike",'m',20);//establish a object with constructor function being used
one.pout();
one.~student();return0;}
构造函数的重组及类对象改写
#include<iostream>#include<cstring>// if use strlen() funtion, plus #include<cstring>#include<string.h>usingnamespace std;classstudent{private:char*id;char*name;char sex;int age;public:student(char*pid,char*pname,char psex,char page);student();voidpout();voidchange34(char psex,int page){
sex=psex;
age=page;}voidchange12(char*pname,char*pid);~student();// ~ the signal of destruct function};
student::student(){
id=newchar[10];strcpy(id,"00001");
name=newchar[20];//sring is somwhat like array,square bracket instead of round bracketstrcpy(name,"xxxxxxx");// easily to forget ,you just assign memory for name but not assign pname a value
sex=' ';
age=18;}
student::student(char*pid,char*pname,char psex,char page){
id=newchar[strlen(pid)+1];strcpy(id,pid);
name=newchar[strlen(pname)+1];strcpy(name,pname);
sex=psex;
age=page;}void student::change12(char*pname,char*pid)//first time forget to add student as singal of action scope{delete[] id;delete[] name;
name=newchar[strlen(pname)+1];strcpy(name,pname);
id=newchar[strlen(pid)+1];strcpy(id,pid);}void student::pout(){
cout<<"ID:"<<id<<"\t"<<"name:"<<name<<"\t"<<"sex:"<<sex<<"\t"<<"age:"<<age<<endl;}
student::~student(){delete[] name;delete[] id;// cout<<"the memory of student's name and id released"<<endl; remind yourself if relief the moemory}intmain(void){
student one("00001","mike",'m',20);//establish a object with constructor function being used
one.pout();
one.~student();
student two;
two.pout();
cout<<"are you ready to change?"<<endl;
two.change34('w',26);
two.change12("balabala","00002");
two.pout();
two.~student();return0;}
这里写自定义目录标题欢迎使用Markdown编辑器the first appilication构造函数的重组及类对象改写look back欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。the first appilication#in...