静态成员变量
这里面要回顾一下构造函数和析构函数?自己理解不是太深刻啊
class student
{
static int num;
public:
student()
{
num++;
}
~student()
{
num--;
}
static int getnum()
{
return num;
}
};
int student ::num=0;//在这里全局初始化
int main()
{
student t1;
student t2;
student *t3 = new student;
cout<<"student num1 ="<<student :: getnum()<<endl;//类的名字加::,静态成员变量
cout<<"student num2 = "<<t1.getnum()<<endl;
delete t3;
}
友元:声明函数
class student
{
int m_id;
public:
student(int id)
{
m_id=id;
}
friend void test(student t);//声明void test函数可以使用类里面的成员变量
};
void test(student t)
{
cout<<"id="<<t.m_id<<endl;
}
int main()
{
student t1(10);
test(t1);
}
友元:声明类
class student
{
int m_id;
public:
student(int id)
{
m_id=id;
}
friend class A;//声明A类的里面
};
class A
{
public:
void test(student t)
{
cout<<"id="<<t.m_id<<endl;
}
};
int main()
{
student t1(10);
A t2;
t2.test(t1);
}
友元:声明类里面的函数
using namespace std;
class student;//student的声明
class A
{
public:
void test(student t); //函数声明
};
class student
{
int m_id;
public:
student(int id)
{
m_id=id;
}
friend void A::test(student t);//函数友元声明
};
void A::test(student t)
{
cout<<"id="<<t.m_id<<endl;
}
int main()
{
student t1(10);
A t2;
t2.test(t1);
}
网友评论