初识C++

1、C++是一个面向对象语言,那么它有四大特征:抽象性、继承性、封装性(也就是隐藏)、多态性。

2、C++里面有类,类是什么呢,它是一个抽象的类型说明
首先来看看struct和class,它们都能够定义类类型,区别:
成员的默认访问限定不一样,struct不加访问限定是共有的,而class默认访问限定是私有的。
struct Data{}; 在C和C++里面定义折磨一个空结构体,sizeof(Data)的结果是否一样?
不一样,在C中是0,在C++中是1;因为空类型的实例中不包含任何信息,本来应该是0,但是当我们声明该类型的实例的时候,它必须在内存中占有一定的空间,否则无法使用这些实例。至于占用的内存大小由编译器决定,VS中内个空类型的实例占用1个字节的空间。

3、计算对象内存占用大小的时候,只计算对象的成员变量,不包括对象的成员方法(成员方法的定义有两个地方:类里面直接定义、类外定义),一个类型定义的很多对象,它们都有自己的一份成员变量,但是它们共享成员方法。

4、this指针,什么是this指针?
对象调用成员方法的时候,编译器编程成,调用方法时,把对象的地址当作其参数传递进去;那么所有成员方法在编译时期就会自动添加一个形参,就是this指针,在成员方法中,用来区分不同的对象,谁调用方法this指针指向谁。

下面是一个简单的例子:
class CGoods
{
public: // 成员方法一般实现成公有的
void init(char *n, int a, double p)
{
strcpy(this->mName, n);
this->mAmount = a;
this->mPrice = p;
}
void show();
private: // 一般把成员变量都定义成私有private的,把成员方法都定义成共有public的
char mName[20]; // 商品的名称
int mAmount; // 商品的数量
double mPrice; // 商品的价格
};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值