C++面向对象实践
实践如下:
class Person{
private:
int age;
char name[];
int hight;
public:
Person(int age, int hight, char* name);
int getAge();
char* getName();
int getHight(){
return hight;
}
};
#include "Person.h"
Person::Person(int age, int hight, char* name1){
Person::age = age;
Person::hight = hight;
Person::name = name1;
}
int Person::getAge(){
return age;
}
char* Person::getName(){
return name;
}
#include <iostream>
#include "Person.h"
using namespace std;
int main(){
cout << "面向对象实践:" << endl;
cout << "end." << endl;
return ;
}
第二版:
class Person{
private:
int age;
char name[];
int hight;
public:
// 静态常量不允许修改
const static int SVar = ;
const static int Default_Age = ;
const static int Default_Hight = ;
// static 作为默认参数
Person(int age = Default_Age, int hight = Default_Hight){
this->age = age;
this->hight = hight;
}
Person(Person &p);
Person(Person *p);
~Person();
Person(int age, int hight, char name[]);
int getAge();
char* getName();
int getHight(){
return this->hight;//(*this).hight;
}
};
#include <iostream>
#include <string.h> #include "Person.h" Person::Person(int age, int hight, char name[]){
Person::age = age;
Person::hight = hight;
strcpy(Person::name, name);
}
Person::Person(Person &p){
age = p.age;
hight = p.hight;
}
Person::Person(Person *p){
age = p->age;
hight = p->hight;
}
Person::~Person(){
//delete[] name;
std::cout<<"...~\n";
}
int Person::getAge(){
return age;
} char* Person::getName(){
return name;
}
#include <iostream>
#include "Person.h"
using namespace std;
int main(){
cout << "面向对象实践1:" << endl;
Person p(,);
cout << "age:" << p.getAge()<< endl;
cout << "hight:" << p.getHight() << endl;
char name[] = "1212121212q";
Person pp(,,name);
Person *p1 = &pp;
cout << "age1:" << p1->getAge()<< endl;
cout << "hight1:" << p1->getHight() << endl;
cout << "name1:" << p1->getName() << endl;
Person p2(p);
cout << "age2:" << p2.getAge()<< endl;
cout << "hight2:" << p2.getHight() << endl;
Person p3(p1);
cout << "age3:" << p3.getAge()<< endl;
cout << "hight3:" << p3.getHight() << endl;
// Person p4(NULL,NULL);
// cout << "age4:" << p4.getAge()<< endl;
// cout << "hight4:" << p4.getHight() << endl;
cout << "Person::SVar:" << Person::SVar << endl;
cout << "end1." << endl;
return ;
}
C++面向对象实践的更多相关文章
- Golang的面向对象实践method
最近在系统的学习go的语法,一切都弄好了之后准备弄个im项目出来玩.在这个过程中会把看到有趣的写法和语法啥的拿出来分析一下. 我一直以为go语言对面向对象没有支持,但是后面看到了类似类的概念,meth ...
- MySQLi面向对象实践--multi_query
使用multi_query可以实现执行多条SQL语句,每一条SQL语句通过分号分隔. 需要注意的是: 多条用分号分隔的SQL语句中,只要有一条SQL语句执行失败,那么这一条SQL语句以及之后的SQL语 ...
- MySQLi面向对象实践--select
对于update.insert.delete请参考http://www.cnblogs.com/-beyond/p/8457580.html 执行select,如果SQL语句执行成功,那么返回的是一个 ...
- MySQLi面向对象实践--insert、update、delete
执行insert <?php $mysqli = new Mysqli(); $mysqli->connect("localhost","root" ...
- Javascript 面向对象实践
踩到了坑,才能学到东西. 记录我在慢慢的转向模块化遇到的问题以及解决的思路. 1.采用立即执行函数,闭包的方式创建模块 html: <!DOCTYPE html> <html lan ...
- 改善C#程序的50种方法
为什么程序已经可以正常工作了,我们还要改变它们呢?答案就是我们可以让它们变得更好.我们常常会改变所使用的工具或者语言,因为新的工具或者语言更富生产力.如果固守旧有的习惯,我们将得不到期望的结果.对于C ...
- .Net中关于等于的故事(一)
在.Net框架中,如果您查看所有类型的的基类:System.Object类,将找到如下4个与相等判断的方法: static Equals() virtual Equals() static Refer ...
- .Net中关于相等的问题
在.Net框架中,如果您查看所有类型的的基类:System.Object类,将找到如下4个与相等判断的方法: static Equals() virtual Equals() static Refer ...
- 学校的统一订书80%该烧掉——IT推荐书单
学校的统一订书80%该烧掉——IT推荐书单 作者: 夏浅音.py 中文图书个人黑名单:清华大学出版社的国产作者,例如一段错n次的谭浩强.一页错n次的严蔚敏... 中文图书个人白名单:机械工业出版社.电 ...
随机推荐
- 精通shell编程--最后的总结
不得不说shell语法是丑陋的,操作是简单高效的,最后一次学习总结shell shell总结 字符串删除与替换等常见操作 ## 字符串长度 a=1234 echo "${#a}" ...
- concurrent.futures:线程池,让你更加高效、并发的处理任务
并发任务池 concurrent.futures模块提供了使用工作线程或进程池运行任务的接口. 线程池和进程池的API是一致的,所以应用只需要做最小的修改就可以在线程和进程之间进行切换 这个模块提供了 ...
- Beacon
1.Beacon技术指的是通过使用低功耗蓝牙技术(Bluetooth Low Energy,也就是Bluetooth 4.0或者Bluetooth Smart),Beacon基站便可以自动创建一个信号 ...
- PHP随机产生10个100以内互不相同的正整数按从小到大的顺序输出
<?php //产生1~100的正整数 $numbers = range(1,100); //从1~100中选出10个不重复的整数,并使用函数进行排序 $randNumbers = array_ ...
- 我说CMMI之三:CMMI的构件--转载
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/dylanren/article/deta ...
- 如何查看fullGC 次数
如何查看fullGC 次数 如何较少fullGC 如何保证几周才发生一次fullGC
- Linux内核编译完整过程
Linux内核编译完整过程 通过网上的资料我自己的实际内核编译,我把对Linux内核编译的过程写在这里,也许对其他的Linux爱好者的编译学习有些帮助,其中很大部分是网上的资料,另外就是我在实际编译过 ...
- Bilibli文章无法复制文字
在文章的正文部分右键,选择检查 删除箭头所指的内容unable-reprint
- 关于system.timer的使用
private System.Timers.Timer _timer = null; if (_timer == null) { _timer = new System.Timers.Timer(); ...
- sizeof运算符、虚函数、虚继承考点(待修改)
参考: http://blog.csdn.net/wangyangkobe/article/details/5951248 下面的文章解释有错误,不要看.......... 记住几句话: 编译器为每个 ...