C++类和对象的基本概念
2023-06-13 09:16:38 时间
目录
1.c和c++中struct的区别
c语言中结构体中不能存放函数,也就是数据(属性)和行为(方 法)是分离的 c++中结构体中是可以存放函数的,也就是数据(属性)和行为 (方法)是封装在一起的
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
using namespace std;
//c语言不能放函数
struct _stu
{
int a;
int b[5];
};
//c++中可以放函数
struct _stu1
{
int a;
int b[5];
void print_stu()
{
cout << a << endl;
}
};
struct student
{
//学生的属性和数据
int age;
int id;
char name[256];
//操作属性的叫做 方法或行为‐函数
void print()
{
cout << age << id << name << endl;
}
};
void test01()
{
student obj;
obj.age = 10;
obj.id = 20;
strcpy(obj.name, "lucy");
obj.print();
}
int main()
{
test01();
return 0;
}
2.类的封装
c语言中表示事物时,将属性和行为分离,有可能行为调用出错
比如你先定义一个人的属性和行为
struct Person
{
int age;
char name[128];
};
void Person_eat(struct Person *p)
{
printf("%s 在吃饭\n", p->name);
}
然后定义一个狗的属性
struct Dog
{
int age;
char name[128];
};
void Dog_eat(struct Dog* p)
{
printf("%s 在吃狗粮\n", p->name);
}
而测试的时候可以这样
调用了人的属性,在调用狗的行为
void test01()
{
struct Person p1;
p1.age = 20;
strcpy(p1.name, "bob");
Dog_eat(&p1);
}
c++对事物的封装
因为c++中struct里面可以存放函数,也就是行为,就不会存在上述情况
c++将事物的属性和行为封装在一起
’类和结构体的一个区别在于,类对成员可以进行访问的权限控 制,结构体不可以
类 = 类型 (事物的行为和属性) 类实例化出来的变量叫对象
类中的函数 可以访问类里面的成员
结构体中所有成员默认都是公有的 类中的所有成员默认是私有的,也可以修改成员的访问权限
#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream>
using namespace std;
//struct
//类中的所有成员 访问权限都是私有的 private
class Person
{
public://共有的
//类中的所有成员 访问权限都是私有的 private
//属性
int age;
char name[128];
//行为
void Person_eat()
{
printf("%s 吃饭\n", name);
}
};
struct Dog
{
//属性
int age;
char name[128];
//行为
void Dog_eat()
{
printf("%s 吃饭\n", name);
}
};
void test01()
{
Person p1;
p1.age = 10;
strcpy(p1.name, "lucy");
p1.Person_eat();
}
int main()
{
test01();
}
3.类的访问权限
#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream>
#include <string.h>
using namespace std;
class person
{
public:
int mTall; // 多高可以让外人知道
protected:
int mMoney; // 多少钱,只能让儿孙孩子 子类可以访问
private:
int mAge; //年龄不想让外人知道
void show()
{
cout << mTall << " ";
cout << mMoney << " ";
cout << mAge << " ";
}
};
void test01()
{
person p;
p.mTall = 180;
}
int main()
{
test01();
return 0;
}
尽量设置成员变量为私有权限
优点:
对变量的设置时的控制 可以给变量设置只读权限 可以给变量设置只写权限 可以给变量设置可读可写权限
相关文章
- C++学习——虚函数与纯虚函数
- 手把手带你学C++,set是个啥,有什么用?
- EasyC++02,C++常用语句简介
- C++ lamda表达式[通俗易懂]
- C++大作业 题目一、二
- C++输出对象在内存中的地址
- C++ 中的预增(或预减)
- C++ Primer Plus习题及答案-第十一章
- C++字符串加密_c++字符串连接函数
- C++基础——C++面向对象之类、对象与继承基础总结(类和对象概念、构造函数与析构函数、this指针、继承)
- C++字节流 cin cout细节
- C/C++生态工具链——gcc/g++编译器使用指南
- 数据结构小记【Python/C++版】——树与二叉树篇
- 【C++修炼之路】3. 类和对象(中)
- C++面向对象程序设计(谭浩强)第三章 怎样使用类和对象 第一节学习笔记
- C++实现可变长度的动态数组
- C++ lower_bound(STL lower_bound)二分查找算法详解
- C++基本语法详解
- 什么是流?C++流类和流对象
- C++对象的动态建立与释放详解
- C++中指向对象的常指针与指向常对象的指针详解
- C++遗传算法类文件实例分析
- VC++实现通过API来查看程序错误信息的方法