c++中的类和对象_概念

类:事物所具有的共性(行为、属性)抽象出来封装在一起

对象:由类型实例化出对象

c++与c struct的区别:c中不能存放函数,只能存放属性,方法和属性分离,c++中则可存放函数。

c中表示事物的方法存在问题:方法属性分离,可能会出现行为调用出错(调用到不属于它的行为)

c++对事物的封装-类:1、将事物的行为和属性封装在一起 2、类与结构体封装的一个主要区别是类可对访问权限进行控制结构体默认为公有类默认为私有 3、类中函数可访问类中成员 4、类=类型(属性+方法)

权限控制:1、public:类中可访问类外及子类也可访问 2、protected:类中可访问子类可访问类外不可访问 3、private:类中可访问,子类及类外不可访问

class person{

public:

int weight;

protected:

int mMonny;

private:

int age;

 

void show(){    //类中函数可访问类中成员

cout<<weight<<endl;  cout <<mMonny<<endl;  cout <<age<<endl;

}

};

void test(){

person  a;   //类外只可以调用public 成员

a.weight=10;

}

尽量将成员变量设置为私有权限:1、设置为公有权限无法控制改变变量 2、可对变量的设置时的权限进行控制(设置只读、只写、可读、外部不可访问 由接口完成一般设置为公有)

class personA{

public :        //外部使用的接口

//只读

int get_redOnly(){

return redOnly;

}

//只写

void set_writeOnly(int val){

writeOnly =val;

}

//读写

void set_redWrite(int val){

 redWrite=val;

}

int get_redWrite(){

return redWrite;

}

 

private :

int redOnly;

int writeOnly;

int redWrite;

}

posted @   spking  阅读(195)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示