Ошибка в простом использувании класа

  • Автор темы Автор темы Onikz
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
O

Onikz

Код:
#include "stdafx.h"
#include "iostream.h"

class Employee {
public:
Employee(int iAge,int iYear,int iSalary);
~Employee();
int GetAge() const {return Age;}
int GetYearOfService() const {return YearOfService;}
int GetSalary() const {return Salary;}
void AddAge(int x) {Age=Age+x;}
void AddYearOfService(int x) {YearOfService=YearOfService+x;}
void AddSalary(int x) {Salary=Salary+x;}
void SetAge(int x) {Age=x;}
void SetYearOfService(int x) {YearOfService=x;}
void SetSalary(int x) {Salary=x;}
private:
int Age;
int YearOfService;
int Salary;
};

Employee::Employee(int iAge,int iYear,int iSalary) {
Age=iAge;
YearOfService=iYear;
Salary=iSalary;
}
Employee::~Employee() {}

int main(){
int d;
Employee Man(18,1,9000);
cout <<	"One Year passed..." <<endl;
Man.AddYearOfService(1);
Man.AddAge(1);
Man.AddSalary(3000);
printf("YearOfService is %n",Man.GetYearOfService);
printf("Age is %n",Man.GetAge);
printf("Salary is %n",Man.GetSalary);
cin >> d;
return 0;
}
при компиляции MVC++6.0 ошибок нет - но при запуску...

Unhandled exception in 21day.exe: 0xC0000005: Access Violation.

что здесь нетак???
 
Ну, попытка вывести адреса функций (вместо их возвратов) через printf вполне могла бы работать, если бы правильный атрибут был указан - %d а не %n.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab