2016/10/12

来源:互联网 发布:php 500错误日志 编辑:程序博客网 时间:2024/06/05 09:18
/*1631-5 黄加勉 <2016.10.12>
 连续第11天总结*/


namespace A  //今日任务
{
1.拷贝构造函数(100%);
2.析构函数(50%);
3.复习(20%);
}


namespace B  //具体内容
{
1.拷贝构造函数没有参数,不能重载,因为它是拷贝嘛;
2.析构函数就是一个在对象消亡事才执行的函数,也就是程序结束(但是太快了看不清。。)或者delete堆中实例化得对象;
3.拷贝构造函数实例化的对象消亡时也会自动调用析构函数;
4.复习还是很有必要的。。


附代码:


#include <iostream>
#include <string>
using namespace std;


class People
{
public:
People();
People(string _name, char _gender, int _age);
People(const People&people);
~People();
string getName();
char getGender();
int getAge();
private:
string m_strName;
char m_cGender;
int m_iAge;
};


People::People() :m_strName("AAA"), m_cGender('f'), m_iAge(10) {}


People::People(string _name, char _gender, int _age) : m_strName(_name), m_cGender(_gender), m_iAge(_age) {}


People::People(const People&people)
{
cout << "kaobei:";
m_strName = "BBB";
m_cGender = 'm';
m_iAge = 20;
}


People::~People()
{
cout << "xigou";
m_strName = "CCC";
m_cGender = 'f';
m_iAge = 30;
}


string People::getName()
{
return m_strName;
}


char People::getGender()
{
return m_cGender;
}


int People::getAge()
{
return m_iAge;
}


int main()
{
People p1;
cout << p1.getName() << " " << p1.getGender() << " " << p1.getAge() << endl;
People p2(p1);
cout << p2.getName() << " " << p2.getGender() << " " << p2.getAge() << endl;
People *p = new People();
cout << (*p).getName() << " " << (*p).getGender() << " " << (*p).getAge() << endl;
delete p;
system("pause");
return 0;
}




}


namespace C  //明日任务
{
1.析构函数;
2.综合练习;
3.复习之前学的;
}

0 0
原创粉丝点击