//类的三种调用方式
#include<iostream>
using namespace std;
class Person
{
public:
Person()
{
cout<<"默认"<<endl;
}
Person(const char * name)
//Person(string name)
{
cout<<"有参"<<endl;
m_name=name;
}
Person(const Person &p)
{
cout<<"拷贝"<<endl;
m_name=p.m_name;
m_age=p.m_age;
}
~Person()
{
cout<<"析构"<<endl;
}
void setage(int age)
{
m_age=age;
}
int m_age;
string m_name;
};
int main()
{
//1 括号法
Person p;
Person p1("nhb");
p1.m_age=18;
Person p2(p1);
//2.显示法
Person p0;
Person p01= Person ("abc");
p01.m_age=81;
Person p02=Person (p01);
//3.隐式转换法
Person p10;
Person p11= "opq"; //"opq" 是const char *类型的 上面的string类型与之对应不上
p11.m_age=90;
Person p12= p11;
}