C++入门经典-例7.1-对象之访问类成员
1:建立一个类CPerson。
(1)在person.h文件中代码:
class CPerson
{
public:
//数据成员
int m_iIndex;
char m_cName[];
short m_shAge;
double m_dSalary;
//成员函数
short getAge();
int setAge(short sAge);
int getIndex() ;
int setIndex(int iIndex);
char* getName() ;
int setName(char cName[]);
double getSalary() ;
int setSalary(double dSalary);
};
(2)在person.cpp文件中的代码:
#include "stdafx.h"
#include <iostream>
#include "person.h"
//类成员函数的实现部分
short CPerson::getAge()
{
return m_shAge;
}
int CPerson::setAge(short sAge)
{
m_shAge=sAge;
return ; //执行成功返回0
}
int CPerson::getIndex()
{
return m_iIndex;
}
int CPerson::setIndex(int iIndex)
{
m_iIndex=iIndex;
return ; //执行成功返回0
}
char* CPerson::getName()
{
return m_cName;
}
int CPerson::setName(char cName[])
{
strcpy(m_cName,cName);//把后面的复制给前面的
return ; //执行成功返回0
}
double CPerson::getSalary()
{
return m_dSalary;
}
int CPerson::setSalary(double dSalary)
{
m_dSalary=dSalary;
return ; //执行成功返回0
}
(3)主函数所在文件中的代码:
#include"stdafx.h"
#include <iostream>
#include "Person.h"
using namespace std;
void main()
{
int iResult=-;
CPerson p;
iResult=p.setAge();
if(iResult>=)
cout << "m_shAge is:" << p.getAge() << endl; iResult=p.setIndex();
if(iResult>=)
cout << "m_iIndex is:" << p.getIndex() << endl; char bufTemp[]="Mary";//定义一个字符串数组,和下边的做法是一样的。
//char *bufTemp= "Mary";//
iResult=p.setName(bufTemp);
if(iResult>=)
cout << "m_cName is:" << p.getName() << endl; iResult=p.setSalary(1700.25);
if(iResult>=)
cout << "m_dSalary is:" << p.getSalary() << endl;
}
运行结果:

C++入门经典-例7.1-对象之访问类成员的更多相关文章
- C++入门经典-例7.6-this指针,同一个类的不同对象数据
1:对于类的非静态成员,每个对象都有自己的一份拷贝,即每个对象都有自己的数据成员,不过成员函数却是每个对象共享的.那么调用共享的成员函数如何找到自己的数据成员呢?答案是通过类中隐藏的this指针. 2 ...
- C++入门经典-例7.8-const对象,标准尺寸
1:当建立一个对象之后,如果不希望它的任何数据发生改变,可以将其直接声明为const对象,例如: const 类名 对象名 const对象必须初始化.我们可以调用它的数据和函数,但是不可以对他们进行修 ...
- C++入门经典-例9.3-类模板,简单类模板
1:使用template关键字不但可以定义函数模板,而且可以定义类模板.类模板代表一族类,它是用来描述通用数据类型或处理方法的机制,它使类中的一些数据成员和成员函数的参数或返回值可以取任意数据类型.类 ...
- C++入门经典-例8.10-实现抽象类中的成员函数
1:抽象类通常作为其他类的父类,如果从抽象类派生的子类是抽象类,则子类必须实现父类中的所有纯虚函数.代码如下: // 8.10.cpp : 定义控制台应用程序的入口点. // #include &qu ...
- C++入门经典-例8.5-多重继承
1:C++允许子类从多个父类继承公有的和受保护的成员,这称为多重继承. 2:多重继承的定义.多重继承有多个基类名称标识符,其声明形式如下: class 派生类名标识符:[继承方式] 基类名标识符1,. ...
- C++入门经典-例7.10-运算符的重载,重载加号运算符
1:曾经介绍过string类型的数据,它是C++标准模版库提供的一个类.string类支持使用加号“+”连接两个string对象.但是使用两个string对象相减确实非法的,其中的原理就是C++所提供 ...
- C++入门经典-例8.1-类的继承
1:继承是面向对象的主要特征(此外还有封装和多态)之一,它使得一个类可以从现有类中派生,而不必重新定义一个新类.继承的实质就是用已有的数据类型创建新的数据类型,并保留已有数据类型的特点,以旧类为基础创 ...
- C++入门经典-例7.9-对象数组,批量化生产
1:在数组内容中我们了解到,数组是通过指针分配到的一段额定大小的内容.同样,数组也可以包含对象.声明对象数组的形式如下: box boxArray[5]; box boxArray2[2]={box( ...
- C++入门经典-例7.2-利用构造函数初始化成员变量
1:在创建对象时,程序自动调用构造函数.同一个类中可以有多个构造函数,通过这样的形式创建一个CPerson对象,例如: CPerson p1(0,"jack",22,7000); ...
随机推荐
- win DLL 笔记
DLL 头文件: #ifdef DLL_API #else #define DLL 导出类 class DLL_API point { public: void aaa() { } } 导出类中函数 ...
- JavaScript内置排序方法sort实现排序操作
var arr = [10,8,6,9,1,7,2,13,5,1,9]; //sort排序 arr.sort(function(a,b){ //可以改变数组本身的排序方法 return a-b; }) ...
- vue-路由动态切换title
router.js { path: '/nav', component: () => import('../view/nav.vue'), meta:{ title:'nav', } }, { ...
- Js-声明变量
JS声明变量 js声明变量的方式有3种:let,const,var 1.const如果定义简单数据类型,变成常量,变量值不可以更改. const name="lili"; name ...
- 阿里巴巴开源框架java诊断工具--Arthas
下载:arthas wget https://alibaba.github.io/arthas/arthas-boot.jar java -jar arthas-boot.jar --target-i ...
- 用jquery写出图片自动轮播效果
相关代码如下,只要把代码粘贴进编辑器,修改图片路径,即可看到效果. 1.html部分 <body> <ul class="banner"> < ...
- Linux 永久挂载镜像文件和制作yum源
Linux mount命令是经常会使用到的命令,它用于挂载Linux系统外的文件. 1.镜像挂载到系统指定目录下:[root@master cdrom]# mount -t auto /mnt/c ...
- 第十章、typing模块
目录 第十章.typing模块 一.说明 二.typing模块的作用 三.使用typing模块 四.typing常用类型 第十章.typing模块 一.说明 二.typing模块的作用 类型检查,防止 ...
- Samba passwd smbpasswd and tdbsam
ome commands to convert samba backend password-databases. If you use "passdb backend = smbpassw ...
- 使用函数rand5()来实现函数rand7()
题目: 给定一个函数rand5(),该函数可以随机生成1-5的整数,且生成概率一样.现要求使用该函数构造函数rand7(),使函数rand7()可以随机等概率的生成1-7的整数. 思路: 很多人的第一 ...