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) 阅读目录 为什么要克隆? 如何实现克隆 浅克 ...
随机推荐
- Codevs 5126 推销员 2015年NOIP全国联赛普及组
5126 推销员 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 阿明是一名推销员,他奉命到螺丝街推销他们公司的产品.螺丝街是一条死 ...
- 关于进程间通信的总结(IPC)
一:三个问题 进程间通信简单的说有三个问题.第一个问题是一个进程如何把信息传递给另一个.第二个要处理的问题是是,要确保两个或更多的的进程在关键互动中不会出现交叉(即是进程互斥的问题),第三个问题是与正 ...
- 开发问题记录——AE开发提示80040111错误
System.runtime.interpServices.ComException(0X80040111): 80040111 ClassFactory无法供应请求的类(异常来自HRESULT:0X ...
- ios客户端base64上传图片到java服务器遇到的问题
由于base64位包含了“+”和“\”两个特殊符号,导致ios编码后上传图片到服务器,服务器解码以后的值会不一致,导致图片损坏. 解决办法:重写Base64类,用“(”和“)”替换“+”和“\”两个特 ...
- angularjs--$watch、$watchGroup、$watchCollection含义
angularjs的$watch.$watchGroup.$watchCollection使用方式 如果想在controller里面随时监听一个值的变化那就用$watch <p> ...
- php入门之表单创建和基本处理
为了方便后面学习数组,这里引入了过渡章节就是表单,至于为什么,等真的学习到数组的时候你就会发现它的妙处拉. ============================================== ...
- STM8S003K3用Tim1的通道4输出20KHz的PWM波
void Init_pwm(){TIM1_DeInit(); TIM1_TimeBaseInit(0, TIM1_COUNTERMODE_UP, 800, 0x00);//250 TIM1_OC4In ...
- Django的templates模版
前面介绍的都是django.http.HttpResponse 把内容直接返回到网页上,这次介绍通过渲染模版的方法来显示内容 步骤: 1.创建一个项目(略) 2.创建一个app(略) 3.添加项目到s ...
- Mooncake (排序+贪心)
Mooncake is a Chinese bakery product traditionally eaten during the Mid-Autumn Festival. Many types ...
- ubuntu安装kernel3.10.34
参考http://www.linuxidc.com/Linux/2014-03/98818.htm 32位系统安装 wget kernel.ubuntu.com/~kernel-ppa/mainlin ...