⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 grass.cpp

📁 《游戏编程指南》配套代码 [涉及平台] VC++ [作者] void [文件大小] 1761KB [更新日期] 2005-10-26
💻 CPP
字号:
//-----------------------------grass.cpp-------------------------------
#include <iostream>
using namespace std;
#include "grass.h"


grass::grass(int height)
	{
		this->height=height; //对于任何一个对象的方法来说,this永远是一个指向这个
                              //对象的指针。所以这样写能使编译器知道是类中的height
	}

	//下面对类的方法进行定义
	void grass::cut( ) // "::"表示cut( )是grass的成员。
	{
		if (height>=10)
		height-=10; //可自由访问grass中的任何成员。
	}

	void grass::water( )
	{
		height+=10;
	}
	
	int grass::get_height( ) //在类的外部不能直接访问height,所以要写这个函数
	{
		return height;
	}

void grass::set_height(int newh) //同样我们写了这个函数
	{
		if (newh>=0)
		height=newh;
	}

	void main( )
	{
        grass grass1,grass2; //其实这一句和"int a,b;"没什么区别,想一想!这一句语
                     //句被称为实例化。
		grass1.set_height(20); //如果你用过VB一定会觉得很亲切。类以外的函数即使
                               //是访问类的公有部分也要用"."。
		cout<<grass1.get_height( )<<endl;
		grass1.set_height(-100); //因为set_height作了保护措施,所以这一句不会给
      //height一个荒唐的值
		cout<<grass1.get_height( )<<endl;
		grass1.cut( );
		cout<<grass1.get_height( )<<endl;
		grass2=grass1; //同一种对象可直接互相赋值
		cout<<grass2.get_height( )<<endl;
		grass *grass3; //也可定义指向类的指针
		grass3=new grass; //同样要new
		grass3->set_height(40); //由于grass3是指针,这里要用"->"。其实也可以
     //使用(*grass3).set_height(40); ("."操作符比"*"
     //操作符执行时优先) ,不过这样写比较麻烦。
		grass3->water( );
		cout<<grass3->get_height( );
		delete grass3; //释放指针
	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -