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 调用父类方法, 重写父类构造方法, 不显式调用,会报错
子类不显式调用父类的构造方法,而父类构造函数初始化了一些属性,就会出现问题 如果子类和父类都有构造函数,子类其实是重写了父类的构造函数,如果不显式调用父类构造函数,父类的构造函数就不会被执行,导致子类 ...
随机推荐
- net-snmp源码VS2013编译添加加密支持(OpenSSL)
net-snmp源码VS2013编译添加加密支持(OpenSSL) snmp v3 协议使用了基于用户的安全模型,具有认证和加密两个模块. 认证使用的算法是一般的消息摘要算法,例如MD5/SHA等.这 ...
- ubuntu系统安装PHP扩展
GD库的安装 sudo apt-get install php5-gd sudo apt-get install php5-gd sudo /etc/init.d/apache2 restart CU ...
- 百度地图API 海量点 自定义添加信息
<!--添加百度地图--> <script type="text/javascript" src="http://api.map.baidu.com/a ...
- python 类修饰器
1. 修改类函数. 场景: 如果要给一个类的所有方法加上计时,并打印出来.demo如下: # -*- coding:utf-8 -*- import time def time_it(fn): &qu ...
- centos 谷歌浏览器安装
首先,这个是坑 http://www.tecmint.com/install-google-chrome-on-redhat-centos-fedora-linux/ 安装会报错,按照错误找到以下资源 ...
- zend studio安装svn插件
进入zend->Help->Install New Software 输入如下地址: http://subclipse.tigris.org/update_1.8.x 选择subclips ...
- CRC在线计算器
On-line CRC calculation and free library https://www.lammertbies.nl/comm/info/crc-calculation.html
- Appium+Robotframework实现Android应用的自动化测试-1:Appium在Windows中的安装
让我们开始在Windows中开始安装Appium吧,Appium在OS X中的具体安装后面的文章会介绍. 另外,官网上说先要装Node.js,还要装Apache Ant和Apache Maven,Gi ...
- MySQL 5.6 my.cnf 模版
[client] port = socket = /var/run/mysqld/mysqld.sock [mysqld_safe] thp-setting=never socket = /var/r ...
- nyoj1000_快速幂_费马小定理
又见斐波那契数列 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 斐波那契数列大家应该很熟悉了吧.下面给大家引入一种新的斐波那契数列:M斐波那契数列. M斐波那契数列 ...