类的构成
定义
类中包含有数据和函数,分别被称为数据成员和成员函数。而按照数据和函数的权限划分又被分为公共(public), 保护(protected),私有(private)。
class clsname
{
public:
public_data_memeber;
public_func_memeber;
protected:
protected_data_memeber;
protected_func_memeber;
private:
private_data_memeber;
private_func_memeber;
};
说明:
1、权限划分的公共(public), 保护(protected),私有(private)三种成员没有顺序规定,不需要全部都有,但一定要有其中的一个;
2、如果私有部分处于第一区域,则默认其为private部分的,当整个类都没有权限关键字,则默认都为private。
3、私有部分只能被类中的成员函数访问,不能在类外,同过类的对象访问。
成员函数的定义
显示定义
成员函数的声明在类中,而函数的定义在类的外面。
#include <iostream>
using namespace std;
class nouse
{
int add(int a, int b);
public:
void saysomething();
};
int nouse::add(int a, int b)
{
return a + b;
}
void nouse::saysomething()
{
cout << "lalala!!!" << endl;
}
隐式定义
在类的里面定义成员函数:
#include <iostream>
using namespace std;
class nouse
{ //隐式声明
int add(int a, int b)
{
return a + b;
}
int a = 5;
int b = 6;
public:
void saysomething()
{
cout << "lalala!!!" << endl;
}
};
对象的定义
在声明类的同时,定义其对象。
class nouse
{ //隐式声明
int add(int a, int b)
{
return a + b;
}
int a = 5;
int b = 6;
public:
void saysomething()
{
cout << "lalala!!!" << endl;
}
}obj1, obj2;
在使用时定义对象:
nouse obj1, obj2;
对象中成员的访问
class nouse
{ //隐式声明
int add(int a, int b)
{
return a + b;
}
int a = 5;
int b = 6;
public:
void saysomething()
{
cout << "lalala!!!" << endl;
}
};
int main()
{
nouse obj1, obj2;
obj1.saysomething();
return 0;
}
对象赋值语句
obj1.add(10, 20);
obj2 = obj1;
obj1.saysomething();
return 0;