实践如下:

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. Spark 2.43读取.json文件入库到MySQL 8

    如果没有安装包,可以用我的这个 百度网盘链接点击进入 提取码: eku1 解压之后 准备开始配置环境变量 如果运行时候报错参考 (java.io.IOException: Could not loca ...

  2. react 在新窗口 打开页面

    遇到这个需求 首先通过 Link a去尝试直接跳转.发现2个问题 1.Link跳转 会自动进行登录校验,我设想是路由没有匹配到,去验证后大致排除了. 因为这个链接 直接粘贴到浏览器 是可以访问到的. ...

  3. angular实现三级联动

    (function(angular) { 'use strict'; var module = angular.module('timecube.shopManage.group.ctrls', [' ...

  4. 网络初级篇之OSPF(二)实验

    一.实验目的:     下面关于OSPF的实验,仔细看配置过程,以增加对OSPF的理解. 二.实现目标:     使用OSPF实现所有主机之间的通信 三.配置过程: 1.AR1的配置过程:      ...

  5. 2019.10.9php进阶

    <?php header("Content-type:text/html;charset:utf-8"); if ($_FILES["file"][&qu ...

  6. python-迭代器与生成器2

    python-迭代器与生成器2 def fib(max): n,a,b=0,0,1 while n<max: #print(b) yield b a,b=b,a+b #t=(b,a+b) 是一个 ...

  7. 常用数据存储格式之json

    常用数据存储格式介绍 JSON: JavaScript Object Notation(JavaScript 对象表示法) JSON 是存储和交换文本信息的语法.类似 XML. JSON 比 XML ...

  8. 读《JavaScript面向对象编程指南》(一)

    第二章 基础 通常认为在JavaScript中主要包括五种基本数据类型:数字.字符串.布尔值.undefined.null.任何不属于上述五种基本类型的值都被认为是一个对象. null和undefin ...

  9. ln: /usr/bin/mysql: Operation not permitted

    一.背景 前段时间装mysql,就遇到了ln: /usr/bin/mysql: Operation not permitted的错误,网上好多方法都过时了,下边是我的解决方法 执行 sudo ln - ...

  10. Newsgroups数据集研究

    1.数据集介绍 20newsgroups数据集是用于文本分类.文本挖据和信息检索研究的国际标准数据集之一. 数据集收集了大约20,000左右的新闻组文档,均匀分为20个不同主题的新闻组集合. 一些新闻 ...