【C++指针】类的指针

/**
 * @file            
 * @author			jUicE_g2R(qq:3406291309)	
 * @brief			类的指针
 * @copyright		2023.10
 * @COPYRIGHT			 原创学习笔记:转载需获得博主本人同意,且需标明转载源
 * @language        C++
 */

1 类 类 需要在 . h 文件 .h文件 .h文件 先声明

//test2.h
#pragma once
#include <bits/stdc++.h>
using namespace std;

typedef int* pInt;
class MyClass {
public:
	int ret;
	explicit MyClass(int a, int b);	//构造函数,explicit不允许隐式转化
	virtual ~MyClass();				//析构函数,virtual不允许 MyClass的派生类 自动调用 MyClass(这个基类)的析构函数
	pInt retSum(void);
private:
	int _a, _b;
	int Sum(void);
protected:
	int __temp;
};

2 然后, 类 类 成员函数 成员函数 成员函数 需要在 . c 文件 .c文件 .c文件 实现(定义)

#include "test2.h"

//public:MyClass
MyClass::MyClass(int a, int b) :_a(a), _b(b) {
	__temp = 100;		// 初始化protected作用域里的数据
	cout << "一个MyClass类的对象已被创建" << endl;
}
MyClass::~MyClass() {
	//MyClass对象 关于 销毁自己的操作(比如类中的 指针变量 要自己手动清除)
}
pInt MyClass::retSum(void) {
	ret = Sum();
	return &ret;
}

//private:MyClass
int MyClass::Sum(void) {
	int sum;
	sum = _a + _b;
	return sum;
}

3 调用 类 类 ,实例化一个对象

#include <bits/stdc++.h>
using namespace std;
#include "test2.h"

int main(int* argc, char* argv[]) {
	
	MyClass* pMe = new MyClass(1,2); 	//类指针
	cout << *pMe->retSum();				//将地址解引用
	delete pMe;							//销毁pMe这个对象
	return 0;
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值