实践如下:

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++面向对象实践的更多相关文章

  1. Golang的面向对象实践method

    最近在系统的学习go的语法,一切都弄好了之后准备弄个im项目出来玩.在这个过程中会把看到有趣的写法和语法啥的拿出来分析一下. 我一直以为go语言对面向对象没有支持,但是后面看到了类似类的概念,meth ...

  2. MySQLi面向对象实践--multi_query

    使用multi_query可以实现执行多条SQL语句,每一条SQL语句通过分号分隔. 需要注意的是: 多条用分号分隔的SQL语句中,只要有一条SQL语句执行失败,那么这一条SQL语句以及之后的SQL语 ...

  3. MySQLi面向对象实践--select

    对于update.insert.delete请参考http://www.cnblogs.com/-beyond/p/8457580.html 执行select,如果SQL语句执行成功,那么返回的是一个 ...

  4. MySQLi面向对象实践--insert、update、delete

    执行insert <?php $mysqli = new Mysqli(); $mysqli->connect("localhost","root" ...

  5. Javascript 面向对象实践

    踩到了坑,才能学到东西. 记录我在慢慢的转向模块化遇到的问题以及解决的思路. 1.采用立即执行函数,闭包的方式创建模块 html: <!DOCTYPE html> <html lan ...

  6. 改善C#程序的50种方法

    为什么程序已经可以正常工作了,我们还要改变它们呢?答案就是我们可以让它们变得更好.我们常常会改变所使用的工具或者语言,因为新的工具或者语言更富生产力.如果固守旧有的习惯,我们将得不到期望的结果.对于C ...

  7. .Net中关于等于的故事(一)

    在.Net框架中,如果您查看所有类型的的基类:System.Object类,将找到如下4个与相等判断的方法: static Equals() virtual Equals() static Refer ...

  8. .Net中关于相等的问题

    在.Net框架中,如果您查看所有类型的的基类:System.Object类,将找到如下4个与相等判断的方法: static Equals() virtual Equals() static Refer ...

  9. 学校的统一订书80%该烧掉——IT推荐书单

    学校的统一订书80%该烧掉——IT推荐书单 作者: 夏浅音.py 中文图书个人黑名单:清华大学出版社的国产作者,例如一段错n次的谭浩强.一页错n次的严蔚敏... 中文图书个人白名单:机械工业出版社.电 ...

随机推荐

  1. 精通shell编程--最后的总结

    不得不说shell语法是丑陋的,操作是简单高效的,最后一次学习总结shell shell总结 字符串删除与替换等常见操作 ## 字符串长度 a=1234 echo "${#a}" ...

  2. concurrent.futures:线程池,让你更加高效、并发的处理任务

    并发任务池 concurrent.futures模块提供了使用工作线程或进程池运行任务的接口. 线程池和进程池的API是一致的,所以应用只需要做最小的修改就可以在线程和进程之间进行切换 这个模块提供了 ...

  3. Beacon

    1.Beacon技术指的是通过使用低功耗蓝牙技术(Bluetooth Low Energy,也就是Bluetooth 4.0或者Bluetooth Smart),Beacon基站便可以自动创建一个信号 ...

  4. PHP随机产生10个100以内互不相同的正整数按从小到大的顺序输出

    <?php //产生1~100的正整数 $numbers = range(1,100); //从1~100中选出10个不重复的整数,并使用函数进行排序 $randNumbers = array_ ...

  5. 我说CMMI之三:CMMI的构件--转载

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/dylanren/article/deta ...

  6. 如何查看fullGC 次数

    如何查看fullGC 次数 如何较少fullGC 如何保证几周才发生一次fullGC

  7. Linux内核编译完整过程

    Linux内核编译完整过程 通过网上的资料我自己的实际内核编译,我把对Linux内核编译的过程写在这里,也许对其他的Linux爱好者的编译学习有些帮助,其中很大部分是网上的资料,另外就是我在实际编译过 ...

  8. Bilibli文章无法复制文字

    在文章的正文部分右键,选择检查 删除箭头所指的内容unable-reprint

  9. 关于system.timer的使用

    private System.Timers.Timer _timer = null; if (_timer == null) { _timer = new System.Timers.Timer(); ...

  10. sizeof运算符、虚函数、虚继承考点(待修改)

    参考: http://blog.csdn.net/wangyangkobe/article/details/5951248 下面的文章解释有错误,不要看.......... 记住几句话: 编译器为每个 ...