C++ 通过对象方式 、指针方式两种方式去访问成员变量(属性或者方法)
准备
1.在VS中新建一个项目-Viscal C++ ---常规--空项目
2.建立一个.h的头文件 定义一个类 声明其成员(C#中的属性和方法)
#include<iostream>
#include<string>
using namespace std;
class Person
{
public:
void setId(int id);
int getId();
void setName(string name);
string getName();
void setAge(int age);
int getAge();
private:
int _id;
string _name;
int _age;
};
建立一个.cpp的文件 声明一个类 实现成员变量初始化操作
#include "Per.h";
using namespace std;
void Person::setId(int id){
this->_id = id;
}
void Person::setName(string name){
this->_name = name;
}
void Person::setAge(int age){
this->_age= age;
}
int Person::getId(){
return this->_id;
}
string Person::getName(){
return this->_name;
}
int Person::getAge(){
return this->_age;
}
int main(){
}
通过对象方式
Person Per;
Per.setId();
Per.setAge();
Per.setName("Tony");
int id = Per.getId();
string name = Per.getName();
int age = Per.getAge();
cout << id <<","<< name <<","<< age<<endl;
system("pause");
return ;
通过指针方式
Person *Per = new Person();
Per->setId(1);
Per->setName("Tommy");
Per->setAge(20);
int id = Per->getId();
string name = Per->getName();
int age = Per->getAge();
cout << id <<","<< name <<","<< age<<endl;
delete Per;
system("pause");
return 0;
完成代码例子
#include "Per.h";
using namespace std;
void Person::setId(int id){
this->_id = id;
}
void Person::setName(string name){
this->_name = name;
}
void Person::setAge(int age){
this->_age= age;
}
int Person::getId(){
return this->_id;
}
string Person::getName(){
return this->_name;
}
int Person::getAge(){
return this->_age;
}
int main(){
//1.通过对象方式访问
//Person Per;
//Per.setId(1);
//Per.setAge(25);
//Per.setName("Tony");
//int id = Per.getId();
//string name = Per.getName();
//int age = Per.getAge();
//2.通过指针方式访问
Person *Per = new Person();
Per->setId();
Per->setName("Tommy");
Per->setAge();
int id = Per->getId();
string name = Per->getName();
int age = Per->getAge();
cout << id <<","<< name <<","<< age<<endl;
delete Per;
system("pause");
return ;
}

C++ 通过对象方式 、指针方式两种方式去访问成员变量(属性或者方法)的更多相关文章
- 将图片base64格式转换为file对象并读取(两种方式读取)
两种方式读取,一种URL.createObjectURL,另一种fileReader var base64 = ` data:image/jpeg;base64,/9j/4AAQSkZJRgABA ...
- js对象取值的两种方式
:"李四"}; var v1 = obj.name1; //张三, 使用点的方式 //报错,不能使用点的方式 ]; //李四,使用中括号的方式 var key = "na ...
- spring配置文件注解方式引入的两种方式
一.#{beanID['propertiesName']}方式 <bean id="propertyConfigurer" class="org.springfra ...
- spring boot 集成 Filter 的两种方式
两种方式:(两种方式同时存在时,@Bean优先@ServletComponentScan实例化,生成两个对象) 1)@ServletComponentScan注解+@WebFilter注解 2)@Be ...
- spring boot集成 servlet自动注册的两种方式
有两种方式:(两种方式同时存在时,@Bean优先@ServletComponentScan实例化,生成两个对象) 1)通过@ServletComponentScan类注解 扫描 带有@WebServl ...
- .NET环境下导出Excel表格的两种方式和导入两种类型的Excel表格
一.导出Excel表格的两种方式,其中两种方式指的是导出XML数据类型的Excel(即保存的时候可以只需要修改扩展名为.xls)和真正的Excel这两种. using System; using Sy ...
- Asp.net Web API 返回Json对象的两种方式
这两种方式都是以HttpResponseMessage的形式返回, 方式一:以字符串的形式 var content = new StringContent("{\"FileName ...
- 对于String对象,可以使用"="赋值,也可以使用"new"关键字赋值,两种方式有什么区别?
当你看见这个标题的时候,你可能会下意识的去想一下,这两种方式到底有什么样的区别呢? 且看下面的demo,自然便区分开了 /** * */ package com.b510.test; /** * Pr ...
- java 的对象拷贝(有深浅拷贝两种方式,深拷贝实现的两种方式(逐层实现cloneable接口,序列化的方式来实现))
Java提高篇--对象克隆(复制)(转自:http://www.cnblogs.com/Qian123/p/5710533.html#_label0) 阅读目录 为什么要克隆? 如何实现克隆 浅克 ...
随机推荐
- Windows 安装 pip管理工具
Step 1: 设置Python环境变量(我的Python 是 2.7.3) SETX PATH "%path%;D:\python;D:\python\Scripts" 也可以在 ...
- LINQ(隐式表达式、lambda 表达式)
.NET 中一项突破性的创新是 LINQ(Language Integrated Query,语言集成查询),这组语言扩展让你能够不必离开舒适的 C# 语言执行查询. LINQ 定义了用于构建查询表达 ...
- AE实现投影定义和投影转换
添加引用ESRI.ArcGIS.DataManagementTools 1.获取要定义和要转换的投影 IWorkspaceFactory wsf = new ShapefileWorkspaceFac ...
- Source Insight 技巧总结
以下文章转载自网络:http://blog.csdn.net/junjie319/article/details/6910992 http://www.cnblogs.com/bluestorm/ar ...
- [EAP]将hostapd作为radius服务器搭建EAP认证环境
文章主要由以下几部分组成: 0.概念理解: WPA/WPA2,EAP,IEEE, 802.11i, WiFi联盟, 802.1x 1.编译hostapd 2.配置hostapd的conf文件 3.外接 ...
- DEDECMS中,arclist标签
文档列表 dede:arclist 标签: {dede:arclist flag='h' typeid='' row='' col='' titlelen='' infolen='' imgwidt ...
- input内容改变触发事件,兼容IE
<html> <head> <script type="text/javascript"> window.onload = function() ...
- C#对象转JSON字符串和JSON字符串转对象
namespace Net.String.ConsoleApplication { using System; using System.Data; using System.Collections; ...
- Objective-C常用类型、对象、方法
结构体 NSRange range=NSMakeRange(8,10);从0数第八个元素开始长度为10: NSString *str=NSStringFormRange(range); NSLog(@ ...
- ARM-Linux S5PV210 UART驱动(6)----platform device的添加
开发板是飞凌OK210 arch/arm/mach-s5pv210/mach-smdkc110.c 首先是UART的寄存器默认配置信息: /* Following are default values ...