VS2017学习C++基础十五(类和对象)

面向对象

//1.所谓面向对象就是基于对象概念,以对象为中心,以类和继承为构造极值,来认识、理解、
// 刻画客观世界和设计、构造相应的软件系统(模拟现实)
//2.对象是由数据和容许的操作组成的封装体,与客观实体有直接对应关系
//3.面向对象不是某一种语言的特性,而是一种编程思想
//4.采用过程性编程方法时,首先考虑遵循的步骤,然后考虑如何表示这些数据
//5.OOP程序员-首先会考虑数据,不仅要考虑如何表示这些数据,还要考虑如何使用数据

抽象和类

//抽象:从具体事物抽取共同的本质特征
//C++中的类:
//1.类是一种将抽象转换为用户定义类型的工具
//2.将数据表示和操纵数据的方法组合成一个整体
//3.类的实例称为对象
//4.类中的变量和函数称为成员

//类的声明  :使用class/struct关键字声明类型  class 类名{};  struct 类名{};
//1.class方式声明的类型与struct声明的类型仅仅是形式上不同
//2.其唯一的区别在于使用class声明的类型默认成员是私有的(private),
// 而struct声明的类型默认成员是公有的(public)

头文件

#ifndef LANDOWNERV1_H
#define LANDOWNERV1_H
#pragma once

#include <string>
#include<iostream>
using namespace std;

class LandOwnerv1
{
	public: 
		string name;;  //地主的名称
		long score;    //地主的积分
		int cards[20]; //地主的手牌数目
	public:
		LandOwnerv1() {}  //实现了默认构造函数
		~LandOwnerv1() {} //实现了解析函数
		inline void TouchCard(int);  //声明摸牌方法
		inline void showScore();   //声明显示积分方法		
};
//函数定义  ::  作用域解析运算符
void LandOwnerv1::TouchCard(int cardCount)  //声明摸牌方法
{
	//暂时省略函数的实现
	cout << name << "摸了" << cardCount << "张牌" << endl;
}
void LandOwnerv1::showScore()   //声明显示积分方法
{
	cout << name << "当前的积分为:" << score << endl;
}
#endif //LANDOWNERV1_H

源文件

#include "LandOwnerv1.h" //如果要是用类,必须包含类的头文件
#include <iostream>
#include <string>
using namespace std;

int main()
{
	//数据类型  变量名
	int num;
	num = 0;
	LandOwnerv1 landOwner1; //声明了一个LandOwnerv1类型的变量:landOwner1
	landOwner1.name = "张三";
	landOwner1.score = 100;
	//调用对象的成员方法
	//landOwner1.cards[0] = 9;
	landOwner1.TouchCard(20);
	landOwner1.showScore();
}

运行结果为:

张三摸了20张牌
张三当前的积分为:100
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值