📄 grass.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 + -