1、如果遇到指针问题的话必须显示定义默认构造函数、析构函数、赋值运算符函数、拷贝构造函数。
2、以数组形式出现:
#include <iostream>
#include <cstring>
using namespace std;
class Point
{
private:
int age;
char name[20];//name[20]为指针常量,不能赋值;
public:
Point(int age_,char name_[]):age(age_)
{
strcpy(name,name_);
}
Point(const Point& p):age(p.age)
{
strcpy(name,p.name);
}
void show()
{
cout<<age<<" "<<name<<endl;
}
};
int main()
{
Point s1(30,"zhangsan"),s2(s1);
s1.show();
s2.show();
}
3、以指针形式出现
#include <iostream>
#include <cstring>
using namespace std;
class Point
{
private:
int age;
char *name;//name为指针变量;
public:
Point(int age_,char *name_):age(age_)
{
name=new char[strlen(name_)+1];
strcpy(name,name_);
}
Point(const Point& p):age(p.age)
{
name