构造函数

构造函数

class fen
{
    int m_fenzi;
    int m_fenmu;
public:
      fen(int fenzi,int fenmu)//可以传参,这里是形参,实参在主函数一开始定义的时候传
    {
        m_fenzi=2;
        m_fenmu=10;
    }

、、、、、、、、、、、、、、、、、、、、、、、、、、
    fen()//构造函数省略了set函数,它的名字是类的名字,自动调用
    {
        m_fenzi=2;
        m_fenmu=10;
    }
    void set(int fenzi,int fenmu)
    {
        m_fenzi=fenzi;
        m_fenmu=fenmu;
    }
    void bianli()
    {
        int i;
        for(i=m_fenzi;i>=1;i--)
        {
            if(m_fenzi%i==0&&m_fenmu%i==0)
            {
                m_fenzi=m_fenzi/i;
                m_fenmu=m_fenmu/i;
                break;
            }
        
        }
    }
    void show()
    {
        cout<

构造函数的数组的应用

class fen
{
    int m_fenzi;
    int m_fenmu;
public:
    fen()//他会调用的这个函数五次
    {
        m_fenzi=10;
        m_fenmu=100;
        cout<<"alex"<

类中包含类,并且给类传参

class A
{
    public :
        A(int a)//这个位置需要传参
        {
            cout<<"A .alex"<

析构函数(逆构造函数):每个构造函数都析构函数,谁最先构造,谁最后析构

class A
{
    public :
        A(int a)//这个位置需要传参
        {
            cout<<"A .alex"<

析构函数的指针应用

class test
{
    int *p;
public :
    test()
    {
        p=(int *)malloc(sizeof(int));//在构造函数,给p建造空间
    }
    ~test()//在主函数里面的t要消亡之前出现的函数,叫做系构造函数。
    {
        free(p);//在析构函数释放空间
    }
    void printf()
    {
        *p=4;
        cout<<"alex"<<*p<

一些顺序的问题

using namespace std;
class test
{
    int m_data;
public:
    test(int data):m_data(data)//这里直接给m_data赋值
    {
        cout <<"test("<

你可能感兴趣的:(构造函数)