类(属性+行为):即成员变量+成员函数


在类的主体中,可以使用public、protected、private三个关键字来定义类的属性和行为的访问级别。通常,会在public部分定义类的行为,提供公共的函数接口供外部访问;在protect部分,可以定义遗传给下一代子类的属性和行为;最后在private部分,可以定义这个类所私有的属性和行为。

class A (: public 基类名) 
{
	public:
		//公有成员,通常用来定义类的行为,提供接口供外部访问 
	protected:
		//保护型成员,可以定义遗传给下一代子类的属性和行为
	private:
		//私有成员,通常用来定义类的属性 
}


· 真正在项目中,大概的框架

main.cpp(包括.h头文件声明)

.h头文件(类的声明,只声明不用定义)

.cpp  [  类中各个方法的定义 eg. void Teacher::preLesson(void){...}  ]

范例:

/* Teacher.h 类的声明(属性加行为)  */
class Teacher 
{
	public:	
		void preLesson(void);	//成员函数声明,表行为 
	protected:	//成员变量,表属性 
		int age;
	private:
};

/* Teacher.cpp 类的定义 */
# include "Teacher.h"
# include <iostream>
using namespace std;
void Teacher::preLesson(void)	//类的定义(这里定义了Teacher类中的preLesson()成员函数) 
{
	cout<<"备课中"<<endl;
} 

/* main.cpp */ 
# include "Teacher.h"	//类的声明头文件 
# include <iostream>
using namespace std;

int main()
{
    Teacher t;    
    t.preLesson();   //法一
     
    Teacher* p  = NULL;
    p = &t;
    p->preLesson();  //法二,指针+取地址 
     
    Teacher* x = new Teacher();
    x->preLesson();   //法三,指针+new 
	
	//t.age = 22;	//若age是public成员变量即可访问 
	//cout<<t.age<<endl;
	return 0;
}

· 结构体struct VS 类class(两者都可以声明和定义一个类,但一般都用class)

二者唯一区别就是:用前者struct声明的类成员是公有的(public),而默认情况下用后者class声明的类成员函数是私有的(private)

因此,无论使用两者中哪一个声明一个类,都应该在声明中明确指出各个成员的访问级别,而不是依赖于关键字的默认行为。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值