C++第三节

1.

   类和对象的概念

   类对一系列事物的抽象化,万物都可以为类

   类由两部分组成:属性,行为

   属性:事物的特征----->数据类型描述  

   比如你需要一只狐狸 它要有重量,颜色,这个是属性

   行为 :事物的操作----->函数描述    

  你要这只狐狸去帮你做什么,这个是行为,想做什么都可以                                                             (只要你能用代码描述出来就好了)

1.2

      什么是对象:对象就是类的具体化,类的实例化

       可以理解为定义狐狸了

1.3

      类的特点:封装,继承/派生,多态

1.4 

      类的创建  关键字  class 类名

      权限限定词:   public:(公有属性)    protected:(保护属性)    private:(私有属性)

      这三个限定词的作用是为了类外的访问:类外去调用的就只能访问public下的东西                            我们也可以把  public下的东西叫做类外的接口 

      protected:(保护属性)    private:(私有属性)类外是不可以访问 ,但是可以通过公有接口

      通过引用  或者是传参赋值的方式去做  贴代码:

#include<iostream>
#include<string>
using namespace std;
class fox  //创建类 
{
  public:  //公有属性
	  void print()   //行为 我要让这只狐狸告诉我它的颜色和名字
	  {
		  cout << name << "\t" << Color << "\t" << age << endl;
	  }
  protected: //(保护属性) 
	  //在新标准中 允许赋初值
	  string name="NULL";  //狐狸的名字 
	  string Color="NULL";  //狐狸的颜色;;

   private: //私有属性
	  int age=0;//我认为狐狸的年纪是私有属性

};



int main() 
{
	fox yueyue;//创建对象 创建了一个叫yueyue的对象 它的类是fox
	yueyue.print();//发现能访问的成员只有一个 也就是公有属性下的这个行为函数
	//yueyue.Color = "heise";
	while (1);
	return 0;
}

   

 我们发现编译器告诉我们不可以访问该数据 所以保护属性和私有属性内中的东西皆不能在类外访  问,它们之间的区别只在于对继承,对类外都是一样的不可以访问

类里没有写在权限限定词下的默认都是私有属性,结构体类型与之相反 结构体默认是公有属性

1.5

         属性的初始化,或者说数据成员的访问

        我们如果需要从类外修改类中的数据,我们可以传参的方式,也可以用引用的方式

        我们只需要把修改的接口写在公有属性下

#include<iostream>
#include<string>
using namespace std;
class fox  //创建类 
{
  public:  //公有属性
	  void print()   //行为 我要让这只狐狸告诉我它的颜色和名字
	  {
		  cout << name << "\t" << Color << "\t" << age << endl;
	  }
	  string& Modif()  //通过引用的方式修改
	  {
		  return Color;
	  }
	  void Modifage(int m_age) //通过传参
	  {
		  age = m_age;
	  }
  protected: //(保护属性) 
	  //在新标准中 允许赋初值
	  string name="NULL";  //狐狸的名字 
	  string Color="NULL";  //狐狸的颜色;;

   private: //私有属性
	  int age=0;//我认为狐狸的年纪是私有属性

};



int main() 
{
	fox yueyue;//创建对象 创建了一个叫yueyue的对象 它的类是fox
	yueyue.print();//发现能访问的成员只有一个 也就是公有属性下的这个行为函数
	yueyue.Modif() = { "白色" };
	yueyue.Modifage(18);
	yueyue.print();

	while (1);
	return 0;
}

1.6

new对象

对象的创建(上面代码讲过了)

对象数组

#include<iostream>
#include<string>
using namespace std;
class fox  //创建类 
{
  public:  //公有属性
	  void print()   //行为 我要让这只狐狸告诉我它的颜色和名字
	  {
		  cout << name << "\t" << Color << "\t" << age << endl;
	  }
	  string& Modif()  //通过引用的方式修改
	  {
		  return Color;
	  }
	  void Modifage(int m_age) //通过传参
	  {
		  age = m_age;
	  }
  protected: //(保护属性) 
	  //在新标准中 允许赋初值
	  string name="NULL";  //狐狸的名字 
	  string Color="NULL";  //狐狸的颜色;;

   private: //私有属性
	  int age=0;//我认为狐狸的年纪是私有属性

};



int main() 
{
	fox yueyue;//创建对象 创建了一个叫yueyue的对象 它的类是fox
	fox* pyueyue= new fox; //new 一个对象
	fox yueyuearray[5];   //yueyuearray[0]~[4] 都是对象
	pyueyue->print();     //通过箭头运算符在类外访问pyueyue对象中公有属性
	yueyuearray[0].print();
	yueyuearray[1].print();//数组怎么用,就怎么用,看不懂的基本上C语言划水
}



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值