【菜鸟C++学习笔记】10.类、对象和成员

类是对象的抽象,对象是具体事务,里面包括的玩意儿称为成员。

1、类的声明:

类必须声明后才能使用,声明方法如下:

class Human
{
public:
    void get_age();
    void get_weight();  
private:
     int age;   
     int weight;
};
分析:

第1行:声明了一个Human类,接着的一对“{}”中都为这个类的成员

第3行:public表示成员的方法是公有的,第6行private表示后面的数据成员都是私有的,不能共享。

第4-5行:表示该类的方法,即功能

第7-8行:表示该类的数据

第9行:以“;”表示类声明的结束

注意:类进行声明时,系统并未分配内存空间,声明一个类只是告诉编译器这个类是什么,包含哪些数据和功能,以及类的大小(根据类里的变量决定)


2、对象的使用:

定义对象的方法:写下类名,空格输入需要定义的对象名即可

Human Tom;
用对象访问成员的方法:

1)访问数据成员并赋值:用点运算符“.”访问该对象的数据成员,如:

Tom.age=250;

2)访问成员函数:方法相同

Tom.get_age();
注意:不能用上述方法直接给类赋值,因为类不是一个具体的个体。另外,对象只能调用类中已存在的成员。


3、公有和私有

公有:用关键字public将成员设为公有,它可以被该类的所有成员访问。

私有:如果将类中public关键词删掉,程序一般默认类中的数据为私有,禁止共享,此时对象不能直接访问,若要访问私有数据,需要在对象中建立一个公有的函数接口进行访问,如下面的程序:

#include<iostream>
using namespace std;
class Human
{
public:
	void set(int a)
	{
		age=a;
	}
	int print()
	{
		return age;
	}
private:
	int age;
};
int main()
{
	Human Tom;
	Tom.set(250);
	cout<<"Tom的年龄是:"<<Tom.print()<<endl;
	return 0;
}
输出结果:Tom的年龄是:250

分析:在本程序中,使用了两个函数set()和print()作为公共接口函数,对象只能通过这个类中的公共接口函数去对私有数据age进行赋值和输出。

作用:为提高代码的安全性。如可以防止错误的输入和输出,比如本例中将年龄设为250就是个很扯淡的事,这样通过对set函数进行限定可以防止这种无聊行为,如:

void set()
{
     if(a>0&&a<120)
          age=a;
     else
     {
          cout<<"别扯淡了,重新输入参数"<<endl; 
          age=0;
      }
}

由于这个成员函数比较复杂,一般不把它写到类的声明里面,而是在类中进行声明,声明方法与函数的声明是相同的,而在类外定义时,需要用到域运算符"::",形式如下:

void Human::set(int a)
后面照常定义即可。

总结:一般情况下,我们将类的数据成员设为私有,而将类的函数设为公有以方便访问私有数据。好处是数据的赋值和读写分开操作。


4、类定义头文件

一般情况下,可以将类的定义保存为一个.h的头文件,这样便于一个头文件被多个.cpp的文件所调用,在具体实现时,只需要加入一行代码:

#include "Human.h"
此时就不必重新敲一遍类定义的代码了。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值