c++ 子类调用父类构造方法 调用父类方法 类声明与实现分离

Person.h
#pragma once
#include "stdafx.h"
#include<iostream>
class Person {
private:
std::string name;
int age;
public:
void sayHello();
Person(std::string name, int age);
};
Person.cpp
#include "stdafx.h"
#include<iostream>
#include "Person.h"
#include <string>
Person::Person(std::string name, int age)
{
this->name = name;
this->age = age;
}
void Person::sayHello() {
std::cout << "hell my name is: " << this->name << std::endl;
}
Male.h
#pragma once
#include"Person.h"
#include<string>
class Male:Person {
private :
std::string gender;
public:
Male::Male(std::string gender, std::string name, int age) ;
void sayHello();
};
Male.cpp
#include "stdafx.h"
#include"Male.h"
#include<iostream>
#include<string> Male::Male(std::string gender, std::string name, int age) :Person(name, age)
{
this->gender = gender;
}
void Male::sayHello(){
Person::sayHello();
std::cout << "hell my gender is: " << this->gender << std::endl;
}
ConsoleApplication1.cpp
// ConsoleApplication1.cpp : Defines the entry point for the console application.
// #include "stdafx.h"
#include <iostream>
#include <math.h>
#include <string>
#include "Person.h"
#include "Male.h"
int main()
{
using namespace std; Person* person = new Person("martin", );
person->sayHello(); Male* male = new Male("male","wangdada", );
male->sayHello(); cin.get();
return ;
}
运行结果

c++ 子类调用父类构造方法 调用父类方法 类声明与实现分离的更多相关文章
- [转]Java中子类调用父类构造方法的问题分析
在Java中,子类的构造过程中,必须调用其父类的构造函数,是因为有继承关系存在时,子类要把父类的内容继承下来,通过什么手段做到的? 答案如下: 当你new一个子类对象的时候,必须首先要new一个 ...
- java创建一个子类对象是会调用父类的构造方法会不会创建父类
1.子类在创建实例后,类初始化方法会调用父类的初始化方法(除了Java.lang.Object类,因为java.lang.Object类没有父类),而这种调用会逐级追述,直到java.lang.Obj ...
- C#中通过类来继承两个接口,父类实例化接口中的方法,子类继承父类,调用方法
实现了父类继承接口,父类实例化接口的方法,子类继承父类,子类调用父类的方法直接使用 代码如下: using System; using System.Collections.Generic; usin ...
- [转python 父类可以调用子类的方法
问题描述:我也是在读500 Line 里满的DBDB 的代码时发现的,python的父类可以调用子类的方法,这跟平常习惯的理解方式很不一样,所以就查了下原因,记录如下: 1.现象:最近使用到了So ...
- Java父类对象调用子类实体:方法重写与动态调用
众所周知Java的handle和C++的ponter而不是object对应,我们很熟悉C++的父类pointer调用子类实体的例子,那么对于Java的handle是不是也可以这样呢? 这里我先给一个例 ...
- java this 子类调父类,父类再调用子类已覆盖的方法及属性(又一次理解)
之前一直以为 this关键字 是指调用者对象,但是这次才真正理解,this代表当前对象,但是指向调用者对象,其实就是多态的用法,如下所示:B 继承了 A,在B 中调用A类的方法,在A 中用this 访 ...
- Java 中父类怎么调用子类的方法?
父类能调用子类的方法吗? 答:能. 怎么做? ● 把子类传递到父类的有参构造中,然后调用. ● 使用反射的方式调用,你使用了反射还有谁不能调用的?! ● 父类调用子类的静态方法. 案例展示: pack ...
- Python子类调用父类内属性的方法
常见的就是初始化方法__init__() python中类的初始化方法是__init__(),因此父类子类的初始化方法都是这个,如果子类不实现这个函数,初始化时调用父类的初始化函数,如果子类实现这个函 ...
- python 调用父类方法, 重写父类构造方法, 不显式调用,会报错
子类不显式调用父类的构造方法,而父类构造函数初始化了一些属性,就会出现问题 如果子类和父类都有构造函数,子类其实是重写了父类的构造函数,如果不显式调用父类构造函数,父类的构造函数就不会被执行,导致子类 ...
随机推荐
- Python文件操作题
1.如何用Python删除一个文件 os.remove(filename)或者os.unlink(filename). 2.Python如何copy一个文件 shutil模块里有一个copyfile函 ...
- MySql大数据量恢复
用下面方法解决(管理mysql用的是navicat).,设置以下几个参数的值后就正常了,以下语句也可以在mysql的控制台上执行 . show variables like '%timeout%'; ...
- ITIL与ITSM的联系与区别
1.ITIL(IT Infrastructure Library)是CCTA(英国国家计算机和电信局)于20世纪80年代末开发的一套IT服务管理标准库,它把英国各个行业在IT管理方面的最佳实践归纳起来 ...
- SQL 执行计划(一)
缓存执行计划 SQL Server 2008提供了一些服务器对象来分析执行计划Sys.dm_exec_cached_plans: 包含缓存的执行计划,每个执行计划对应一行.Sys.dm_exe ...
- java导出生成word
最近做的项目,需要将一些信息导出到word中.在网上找了好多解决方案,现在将这几天的总结分享一下. 目前来看,java导出word大致有6种解决方案: 1:Jacob是Java-COM Bridge的 ...
- json和对象、list互转
1.把对象,list转成json: import com.alibaba.fastjson.JSONObject; Object obj = new Object(); // ... String o ...
- 8.js模式-状态模式
1. 状态模式 var offLightState = function(light){ this.light = light; } offLightState.prototype.buttonWas ...
- Innodb锁机制:Next-Key Lock 浅谈
数据库使用锁是为了支持更好的并发,提供数据的完整性和一致性.InnoDB是一个支持行锁的存储引擎,锁的类型有:共享锁(S).排他锁(X).意向共享(IS).意向排他(IX).为了提供更好的并发,Inn ...
- codeforces 425B Sereja and Table (枚举、位图)
输入n*m的01矩阵.以及k. n,m<=100,k<=10 问修改至多k个,使得矩阵内的各连通块(连着的0或1构成连通块)都是矩形,且不含另外的数字(边界为0(1)的矩形内不含1(0)) ...
- nyoj20_吝啬的国度_DFS
吝啬的国度 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 在一个吝啬的国度里有N个城市,这N个城市间只有N-1条路把这个N个城市连接起来.现在,Tom在第S号城市, ...